[学习笔记]线性规划问题的matlab实现

一、数学规划问题
数学规划问题是求解在给定条件下,按照某一衡量标准来寻求计划,管理工作的最优方案。
即是:求目标函数在一定约束条件下的极值问题。

二、线性规划的一般形式
x:决策变量
f(x):目标函数
Ax <= b:不等式约束
Aeqx = beq:等式约束
在这里插入图片描述
在matlab中所有的限制条件都是利用矩阵表示,例如:
在这里插入图片描述
c = [2;3;-5];
a = [-2,5,-1;1,3,1];
b = [-10;12];
aeq = [1,1,1];
beq = 7;
lb = [0,0,0];
[x,Fval]=linprog(-c,a,b,aeq,beq,lb)
z = -Fval;
(x对应取得最优解x的取值,Fval 对应最优解)

三、针对例题的疑惑解答
函数的完全形式是:
[x,Fval]=linprog[c,A,b,Aeq,beq,lb,ub,x0]
lb,ub分别是上界和下界,x0是初始值
(1)为什么带入函数要用-c,结果还要使用z=-Fval取反呢?
由于标准形式只能解决最小值问题,如果要解决最大值,则需要将结果(Fval)和目标函数(-c)取反。
(2)如果没有不等式约束条件,或者等式约束条件怎么处理?
可以直接用[ ]代替Aeq、A、b、beq。
没有上限可以不用写ub参数。
(3)如果有自变量x(1~4)其中x1>=0、x2>=0、x3>=0,x4无限制条件怎么写lb参数呢?
如果是下界可以用-inf代替参数,如果是上界可以用inf代替参数。
lb = [0,0,0,-inf]
(4)x0在线性规划中可以不写吗?
完全可以,一般不用给的。

四、关于解的情况
如果没有解:
%Linprog stopped because no point satisfies the constraints.(没有任何一个点满足约束条件)。
如果有多个解:
将返回其中一个解。

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值