Re: Maximize a single variable and solve for the rest
- To: mathgroup at smc.vnet.net
- Subject: [mg119088] Re: Maximize a single variable and solve for the rest
- From: Peter Pein <petsie at dordos.net>
- Date: Sat, 21 May 2011 06:49:43 -0400 (EDT)
- References: <ir5gat$t3f$1@smc.vnet.net>
Am 20.05.2011 12:38, schrieb Ramiro: > Hello, > > I have a problem where I would like to solve an equation (namely (h+s+b > +d==1) with some constraints, while maximizing for a related variable > "c" (c<=9). Please see below, any suggestions? > > r1 = 3/4; > r2 = 1; > Block[{h, s, b, d, c}, > NMaximize[{h + s + b + d, > b == c*r1 && h + s + b + d == 1 && d == c*r2 && h == s && > b + d <= 0.9}, {h, s, b, d, c}]] > > {1., {h -> 0.5, s -> 0.5, (3 c)/4 -> 0., c -> 0., c -> 0.}} > > Should I be using NSolve? > > Thanks in advance, > Ramiro > Maybe - or surely! - I misunderstand your question. You've got the solution in your posting The only thing to keep in mind is that s >= 1/20: In[15]:= Block[{h,s,b,d,c},Reduce[{b==c*r1&&h+s+b+d==1&&d==c*r2&&h==s&&b+d<=9/10},{h},Backsubstitution->True]] Out[15]= Re[s]>=1/20&&Im[s]==0&&d==-(4/7) (-1+2 s)&&c==-(4/7) (-1+2 s)&&b==-(3/7) (-1+2 s)&&h==s In[16]:= ToRules[Drop[%,2]] Out[16]= {d->-(4/7) (-1+2 s),c->-(4/7) (-1+2 s),b->-(3/7) (-1+2 s),h->s} In[17]:= h+s+b+d/.% Out[17]= 1 Peter