MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: NMinimize -DifferentialEvolution

  • To: mathgroup at
  • Subject: [mg114058] Re: NMinimize -DifferentialEvolution
  • From: Daniel Lichtblau <danl at>
  • Date: Mon, 22 Nov 2010 07:38:08 -0500 (EST)

----- Original Message -----
> From: "lightnation" <lightnation at>
> To: mathgroup at
> Sent: Friday, November 19, 2010 4:10:36 AM
> Subject: NMinimize -DifferentialEvolution
> NMinimize[Flatten[{obj,constraints}],var,Method-
> >"DifferentialEvolution"];
> The sentence above is to solve the optimzation problem whose objective
> function and constraints are represented as "obj", "constraints"
> respectively, using genetic algorithm built in Mathematica in the name
> of "DifferentialEvolution".
> This type of command is to solve the complex problem which cannot be
> solve in the analytic ways.
> The question is,
> How can we solve the optimization problem involving the system
> which is expressed in "DAE"(Differential and Algebraic Equation) way.
> The typical exampe of DAEsystem is the power system.
> The structure of electric grid is represented as the algebraic
> equation(load+loss=generation),
> the dynamics concerning the motion of rotator in generator is
> represented in differential equations.
> For instance,
> letting
> constraints=Flatten[{constraint1,constraint2,constraint3,
> ...........eigconstraint}]
> eigconstraint can be represented as,
> Max[Re[#]&/@Eigenvalues[DAEsystem_Matrix]]<=0
> and DAEsystem_Matrix can be expressed through the system linearization
> in the symbolic way.
> However, Mathematica does not have the capability
> of calculating the large DAEsystem such as power system in the
> symbolic way.
> (The message meaning "Kernel" has been shut down emerged.
> I guess this is related to the capacity of RAM.)
> Instead, Mathematica can calculate the DAEsystem_Matrix when given the
> initial values.
> My question is
> How can we formulated this type of problem to the 'NMinmize" command?
> I mean
> how can I epxress the "eigconstraint" when it is not clearly expressed
> in symbolic way as described above?
> I am waiting for the wise answer from others.
> Thank you.

Not certain, but from your description it might be that an unneeded symbolic computation is being attempted. A way to avoid that is to define

eigconstraint[mat : {{_?NumericQ ..} ..}] := 
 Max[Re[#] & /@ Eigenvalues[mat]] >= 0

This will restrict it to only operate on explicitly numeric matrices.

Daniel Lichtblau
Wolfram Research

  • Prev by Date: FinancialDerivative Ver 8 (Bug maybe)
  • Next by Date: Re: Finding a function that makes it possible to Solve[] a system of equations
  • Previous by thread: NMinimize -DifferentialEvolution
  • Next by thread: Q on SparseArray representation