第一次在CSDN上写博客,暂时用于笔记用途
Matlab中的线性规划
1-标准形式
即,求当时(矩阵不等式),目标函数的最小值
2-Matlab函数调用
线性规划函数为linprog,通用形式为
[x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS),
其中,fval返回目标函数的值,Aeq和beq满足矩阵等式约束,LB&UB分别为变量x的下界&上界,X0为x初始值,OPTIONS为控制参数(注意:X0&OPTIONS较少用)。
3-Examples
解:Matlab代码:
f=[-5;-4;-6];
A=[1 -1 1;3 2 4;3 2 0];
b=[20;42;30];
LB=zeros(3,1);
[x,fval]=linprog(f,A,b,[],[],LB);
4-Attentions
- 标准形式为求目标函数min,当题目要求求max时,需在不等式两边加负号调换不等号方向;同时标准形式中约束均为”<=”,若有”>=”的同理加符号不等式方向改变
- 注意A&b、Aeq&beq均是一对的,前者是描述目标函数z,后者描述等式约束
- 如果对于Aeq和beq没有约束(即,没有等式约束时,则用”[]”代替)