用matlab求解线性规划技巧

一下是我学习的笔记,有不足之处还望提出交流!

  1. 转化为matlab的标准形式(即min f’*x)
    2.找价值列向量,注意是列向量,即f’
    3,找准A,b,aeq,beq,lb ,ub明白各自的含义,b是列向量
    4,套用公式linprog(f,a,b,aeq,beq,lb,ub)
    5,附上以下代码用于求解如何转化为线性规划求解
//min z=|x1|+2|x2|+3|x3|+4|x4|,原理是把|xi|用另外两个变量替换,转化为线性规划
m=(x(i)+|x(i)|)/2,n=(x(i)-|x(i)|)/2
clc,clear
f=1:4;f=[f f]';
a=[1 -1 -1 1;1 -1 1 -3;1 -1 -2 3];
a=[a -a];
b=[-2 -1 -1/2]';
[y,z]=linprog(f,a,b,[],[],zeros(8,1))
x=y(1:4)-y(5:end)

猜你喜欢

转载自blog.csdn.net/weixin_43649958/article/details/85569691
今日推荐