转载,原文链接:https://www.cnblogs.com/goodtwo/p/11141969.html
Matlab中 linprog函数的用法总结
1.简介
在matlab中,linprog函数可以求解线性规划问题,用于寻找目标函数的最小值
matlab中,规划模型的标注写法如下
min fx such that
A⋅x≤b
Aeq⋅x=beq
lb≤x≤ub
min fx such that
A⋅x≤b
Aeq⋅x=beq
lb≤x≤ub
f,x,b,beq,lb,ub是向量;A和Aeq是矩阵f,x,b,beq,lb,ub是向量;A和Aeq是矩阵
2.语法
x=linprog(f,A,b)
用于求解
min f x such that
A⋅xmin f xsuch that A⋅x
x=linprog(f,A,b,Aeq,beq)
用于求解
min fxsuch that
A⋅x≤b
Aeq⋅x=beq
min fxsuch that
A⋅x≤b
Aeq⋅x=beq
如果没有等式存在,就用[]代替Aeq和beq
x=linprog(f,A,b,Aeq,beq,lb,ub)
用于求解
min fxsuch that
A⋅x≤b
Aeq⋅x=beq
lb≤x≤ub
min fx such that
A⋅x≤b
Aeq⋅x=beq
lb≤x≤ub
可以约束决策变量的范围在[lb,ub]内
[x,fval] = linprog(f,A,b,Aeq,beq,lb,ub)
用法和上面一致,不同的是,这种写法会返回目标函数的值fval