通过一道题来体现linprog函数
首先这是一个线性规划问题,即变量x为一元的
我们要把s.t.中的不等式变成矩阵,这个学过线代的应该知道怎么变
我们要知道他的这个公式
[x,fval]=linprog(f,A,b,Aeq,beq,lb,ub)
若不存在不等式约束,用“[]”代替A和b:[x,fval]=linprog(f,[],[],Aeq,beg,lb,ub) ·
若不存在等式约束,用“[]”代替Aeq和beq:[x,fval]=linprog(f,A,b,[],[],lb,ub) ·
没有等式约束和最小、最大取值的约束时,可以不写Aeq,beq和lb,ub:[x,fval]=linprog(f,A,b)
·若题目求最大值:目标函数等号两端加符号转为求最小值;求解后目标值再取负 MATLAB求解线性规划
下面是这道题的代码:
C =[40;36];
A=[-5 -3];
b=[-45];
Aeq=[];
beq=[];
vlb =zeros(2,1);
vub=[9;15];
调用linprog函数:
[x,fval]= linprog(c,A,b,Aeq,beq,vlb,vub)