Matlab线性规划实例
来源:互联网 发布:华为手机修改mac地址 编辑:程序博客网 时间:2024/06/05 19:06
线性规划习题
之前的线性规划的练习题
- 题目
-
解答
f = [3 -1 -1];
A = [1 -2 1;4 -1 -2];
b = [11,-3]';
Aeq = [-2 0 1];
beq = [1];
[x,y] = linprog(-f,A,b,Aeq,beq,zeros(3,1));
z = y这里是一个到线性规划的转换,要做一个变量的变换,把每一个绝对值x都替换成一个u和v的表示变量
如:u = (x + |x|) / 2 v = (|x| - x) / 2
代码:
clc,clear
c = 1:4;
c = [c,c];
aeq = [1 -1 -1 1;1 -1 1 -3;1 -1 -2 3];
Aeq = [aeq,-aeq];
beq = [0 1 -1/2];
[x,y] = linprog(c,[],[],Aeq,beq,zeros(8,1))
x = x(1:4)-x(5:8)
这里可以看到:
将|x|转换为u和v之后,进行一个8个向量的线性规划,修改Aeq和f的值,但是这里的beq不需要8个向量这里根据三种产品对应的六种工序之间可以分类。原因在于每一种工序的价格和约束不同,基于此,可以发现,第一种产品有5个参数,第二种产品3个参数,但是对于第三种产品而言,题目中要求必须完成A、B这2道工序,因此第三个只有一个参数。
a = [0.25 0.35 0.50];
b = [1.25 2.00 2.80];
c = [6000 10000 4000 7000 4000];
d = [300 321 250 783 200];
f = [b(1)-a(1)-d(1)/c(1)*5,b(1)-a(1)-d(2)/c(2)*7,-d(3)/c(3)*6,-d(4)/c(4)*4,-d(5)/c(5)*7,-d(1)/c(1)*10,-d(2)/c(2)*9,b(2)-a(2)-d(3)/c(3)*8,b(3)-a(3)-d(2)/c(2)*12-d(4)/c(4)*11];
Aeq = [5 0 0 0 0 10 0 0 0;0 7 0 0 0 0 9 0 12;0 0 6 0 0 0 0 8 0;0 0 0 4 0 0 0 0 11;0 0 0 0 7 0 0 0 0];
beq = c;
A = [1 1 -1 -1 -1 0 0 0 0;0 0 0 0 0 1 1 -1 0];
b = [0 0];
ub = zeros(9,1);
[x,y] = intlinprog(-f,ones(9,1),Aeq,beq,A,b,ub);
z = -y
x这里的和第三题类似,分成了3×4=12种情况
c = [3100;3800;3500;2850];
c = c*ones(1,3);
c = c(:);
a1 = zeros(4,12);
for i = 1:4
a1(i,i:4:12) = 1;
end
b1 = [18;15;23;12];
a2 = zeros(3,12);
for i = 1:3
a2(i,4*i-3:4*i) = 1;
end
b2 = [10 16 8]';
bb = [480;650;580;390];
a3 = zeros(3,12);
for j = 1:3
a3(j,4*j-3:4*j) = bb;
end
b3 = [6800 8700 5300]';
a = [a1;a2;a3];
b = [b1;b2;b3];
aeq = zeros(2,12);
aeq(1,1:4) = 1/10;
aeq(1,5:8) = -1/16;
aeq(2,5:8) = 1/16;
aeq(2,9:12) = -1/8;
beq = zeros(2,1);
[x,y] = linprog(-c,a,b,aeq,beq,zeros(12,1));
y = -y
总结
对于单纯的线性规划问题来说的话,lingo其实更加好用,而且对于一些数据量较为大的情况,比如超过lingo默认的32M内存的情况,这个时候可以修改lingo的设置,但是Matlab无法进行求解。
原文地址:http://blog.csdn.net/qq_34861102/article/details/76736599
- Matlab线性规划实例
- matlab线性规划
- matlab线性规划
- 关于matlab 线性规划问题
- 线性规划(matlab实现)
- matlab学习-线性规划
- matlab求解线性规划问题
- matlab 线性规划函数-linprog
- matlab 求解线性规划问题
- matlab和Python线性规划
- Matlab 中的线性规划函数
- matlab 求解线性规划
- matlab指派问题 线性规划
- 利用Matlab求解线性规划问题
- Matlab 中的线性规划函数使用方法
- 线性规划问题的matlab求解
- Matlab线性规划(Linear Programming)
- 线性规划问题的matlab求解
- ip地址掩码和位数对应关系表、子网掩码、网络地址、主机地址-yellowcong
- 求带环链表的入口的多种解法
- 从零开始搭建环境编写操作系统 AT&T GCC (六)中断设置和启用 IDT PIC
- Linux系统目录结构以及简单说明
- spring-boot
- Matlab线性规划实例
- 【博弈+找规律】HDU_4642_Fliping game
- 管道(pipe、mkfifo)
- PhpStorm中如何使用Xdebug工具
- Ant 使用教程
- Python,Pycharm,Anaconda等的关系与安装过程~为初学者跳过各种坑
- C语言之运算与表达式(笔记六)
- Proceess,Pool中的Queue通讯以及Thread中的Queue
- JavaScript学习之图片淡入淡出