linprog

4 次查看(过去 30 天)
Nina
Nina 2011-9-13
Dear all, I am dealing with linprog function and have some difficulties with it. The function I need to optimize is: f=1.44-0.05x-0.04y, subject to x>=0, y>=0, y>= -x +10, y<=-x+12 , y<=(1/3)x.
Where do I include the constant value from the objective function 1.44?
Thanks a lot.
Nina

回答(3 个)

Andrei Bobrov
Andrei Bobrov 2011-9-13
Removed first variant (17:20 MDT[09:20 EDT])
Hi Nina! Adjustment for the right answer (ADD 13.09.2011 14:20 MDT [06:20EDT])
f = [ 0.05; 0.04];
A = [-1 -1; 1 1];
b = [-10; 12;];
Aeq = [-1/3 1];
beq = 0;
lb = [0; 0;];
[x,fval,exitflag,output,lambda] = linprog(f,A,b,Aeq,beq,lb)
ADD2 13.09.2011 (14:25 MDT [06:25EDT])
f = [ 0.05; 0.04;];
A = [-1 -1 ; 1 1 ; -1/3 1];
b = [-10; 12; 0];
lb = [0; 0;];
[x,fval,exitflag,output,lambda] = linprog(f,A,b,[],[],lb)

Nina
Nina 2011-9-13
Thanks Andrei, but it's wrong :(
The right solution should be 7.5 for x and 2.5 for y.
Why do you put the whole equation on the left side (in matrix A) and don't leavi it for b?

Aurele Turnes
Aurele Turnes 2017-11-13
编辑:Aurele Turnes 2017-11-13
If you have R2017b, you can use the new problem-base approach. It will take care of the constant value for you: https://www.mathworks.com/help/optim/problem-based-lp-milp.html

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by