MathGroup Archive 2005

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

Search the Archive

Re: Symbolic Constrained Maximization

  • To: mathgroup at smc.vnet.net
  • Subject: [mg58875] Re: Symbolic Constrained Maximization
  • From: "Mukhtar Bekkali" <mbekkali at gmail.com>
  • Date: Thu, 21 Jul 2005 15:46:05 -0400 (EDT)
  • References: <dbicog$bev$1@smc.vnet.net><dbnii1$hjg$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Assume your objective function is f[X] where X={x1,x2,x3,x4} and g[X]
are constraints.  You create FOC=D[f[x],X] as your first order
conditions.  If your admissable solutions set for X is unbounded on one
side, say [0,infinity) then you write Reduce[{FOC<=0,X>=0,g[X]},X].
Notice that I used less than or equal sign. If some solutions are
corner it should give you those.  However, if your solution set for X
is bounded on both sides, say a proportion in [0,1] interval then you
might have to play around with Reduce.  For example, if solutions x1
and x4 are potentially corner, say x1=0 and x4=1, then you use
Reduce[{FOC[[1]]<=0,FOC[[2]]==0,FOC[[3]]==0,FOC[[4]]>=0,0<=X<=1,g[X]},X].


Please note that Reduce may take long to solve. If you know for sure
that x1=0 and x4=1 then incorporate this information like this
Reduce[{FOC[[2]]==0,FOC[[3]]==0,x1=0,x4=1,x1>0,x2>0,g[X]},X]. It will
be a lot faster. If you know your solution is ordered then also put
that in Reduce, like 0<x1<x2<x3<x4<1, or if you know restrictions on
parameter space, say parameter m>2, then put it inside Reduce as well.
I also add options Reals and Backsubstitution->True.  Remember, the
more you put the less time it should take to solve your problem.

You can use your solutions later by applying ToRules and Part commands.
Read help file for those.


  • Prev by Date: Re: Gridlines in MultipleListPlot
  • Next by Date: Re: Gridlines in MultipleListPlot
  • Previous by thread: Re: Symbolic Constrained Maximization
  • Next by thread: Re: Symbolic Constrained Maximization