线性规划:
c和x为n维列向量,A、Aeq为适当维数的矩阵,b(资源向量)、Beq为适当维数的列向量。
主要函数:
(1) linprog(c,A,b,Aeq,Beq)
它的返回值是向量 x的值。参数为空时,用【】表示
(2)[x,fval]=linprog(c,A,b,Aeq,beq,lb,ub,X0)
fval 返回目标函数的值
lb和 ub 分别是变量 x的下界和上界,
x0是x的初始值。
(3)zeros(m,n)
生成m x n零矩阵
注意事项:
(1)若目标函数为max,最后取相反数来获得极大化的目标函数值。
(2)限制条件为<=
(3)变量x的个数为zeros函数的第一参量
(4)若为多个变量x1……xn,做変量変换(2分之绝对值加减原变量)构造价值列向量:c=[c,c]’。('的意思是共轭转置,如果用;的话,不能解决复数的转置)。
(5)若为多个变量x1……xn,做変量変换(2分之绝对值加减原变量),构造变换后的新的系数矩阵
(6)若为多个变量x1……xn,做変量変换(2分之绝对值加减原变量),最后变换为原问题的解。
例如,x=y(1:4)-y(5:end)
例如:
MATLAB代码如下:
c=[2;3;1];
a=[1,4,2;3,2,0];
b=[8;6];
[x,y]=linprog(c,-a,-b,[ ],[ ],zeros(3,1))
来源:CSDN
作者:零碎@流年絮语
链接:https://blog.csdn.net/qq_44824148/article/details/104040380