Re: NMinimize -DifferentialEvolution
- To: mathgroup at smc.vnet.net
- Subject: [mg114058] Re: NMinimize -DifferentialEvolution
- From: Daniel Lichtblau <danl at wolfram.com>
- Date: Mon, 22 Nov 2010 07:38:08 -0500 (EST)
----- Original Message ----- > From: "lightnation" <lightnation at naver.com> > To: mathgroup at smc.vnet.net > 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