线性规划

Posted 树的种子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性规划相关的知识,希望对你有一定的参考价值。

线性规划

线性规划问题

MATLAB的标准形式:

 

 

举个栗子吧:

f = [-2;-3;5];
a = [-2 5 -1;1 3 1];
b = [-10;12];
aeq = [1 1 1];
beq = 7;
​
[x,y] = linprog(f,a,b,aeq,beq,zeros(3,1));
y = -y;
​
% 最优解 
x =
    6.4286
    0.5714
    0.0000
y =
   14.5714

 

 

 

线性规划变形

(带上绝对值咯):

 

 

 

的确很复杂,不能直接用MATLAB直接计算(Lingo完全OK),需要对其进行数学变换:

理论:对于任意的,可以写成:

 

原来的目标函数就变成了:

 

不等式就变成了:

 
 

嘿嘿,现在就可以建立矩阵了,举个栗子P4:


clc,clear
c = 1:4;
c = [c\',c\'];
a = [1 -1 -1 1
    1 -1 1 -3
    1 -1 -2 3];
a = [a,-a];
b = [-2 -1 -1/2]\';
​
[y,z] = linprog(c,a,b,[],[],zeros(4,2));
x = y(1:4)-y(5:end);

 

是不是和书上的程序有点不同,对的,我是完全按照这个式子写的,对于原来的目标函数写一列,但是对于矩阵乘法来说,不是看有多少列吗? 刚好这里是 扩充矩阵 ,同理 也是扩充为

但是求出来的 y 很伤心却还是1维向量,却不是我想要的 矩阵,转换一下。

当然也可以像书上的那样,令u,v 的顺序,只要不等式还是原来的不等式就行,然后转为你需要的答案即可。

 

 

以上是关于线性规划的主要内容,如果未能解决你的问题,请参考以下文章

垂直线性布局中的多个片段

HTML5期末大作业:餐饮美食网站设计——咖啡(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 咖啡网页设计 美食餐饮网页设计...(代码片段

在android中的类内的对话框片段的线性布局中添加textview

Android 底部工作表布局边距

详细实例说明+典型案例实现 对动态规划法进行全面分析 | C++

片段未附加到我的活动