线性规划
基于问题求解步骤
创建问题
函数原型:
prob = optimproblam(Name,Value) % 其中name,value代表的是求解问题的类型
我们只需要掌握常用的两种:
prob = optimproblam('ObjectiveSense','max') % 规划问题最大值
prob = optimproblam('ObjectiveSense','min') % 规划问题最小值
创建变量
x = optimvar(name,row,col,'LowerBound',val,'UpperBound',val)
% name:变量名
% row,col:变量数量
% lowerbound,upperbound:变量的上下界
在一般的线性规划中,我们常用的基本只有两种:
x = optimvar('x',6,'LowerBound',0) % 创建了6个正数变量,记为$x_1$~$x_6$。这里由于只有一维就不用row,col的表示
x = optimvar('x',6,6,'LowerBound',0) % 创建了6*6的正数变量
设置目标函数
和前面求解器求解一样,目标函数可以表示为 f t x ftx ftx。设置如下:
prob.Objective = ftx
设置约束条件
求解问题
[sol,fval] = solve(prob)
% sol是一个struct,包含取到最值时候的变量值,fval是最值