[学习笔记]线性规划matlab实例——生产类问题

一、题目阐述[学习笔记]线性规划matlab实例——生产类问题_第1张图片
二、利用线性规划解决问题
(1)合理设置变量,根据逻辑关系设计尽量少的变量。
对于产品Ⅰ;A工序分别是x1、x2,B工序分别是x3、x4、x5。
对于产品Ⅱ;A工序分别是x6、x7,B工序分别是x8.
对于产品Ⅲ:只能由A2、B2解决所以统一设置成x9.
(2)设置目标函数,利润等于销售额-原料成本-机械成本
[学习笔记]线性规划matlab实例——生产类问题_第2张图片
整理之后可以得到:
format long g
c = zeros(9,1); %对目标函数系数初始化
c(1) = 1.25-0.25-300/60005; %获得每个变量的系数
c(2) = 1.25-0.25-321/10000
7;
c(3) = -250/40006;
c(4) = -783/7000
4;
c(5) = -200/40007;
c(6) = -300/6000
10;
c(7) = -321/100009;
c(8) = 2-0.35-250/4000
8;
c(9) = 2.8-0.5-321/1000012-783/700011;
c=-c;%题目是求解最大值
(3)设置约束条件

A = zeros(5,9);
A(1,1)=5;A(1,6)=10;
A(2,2)=7;A(2,7)=9;A(2,9)=12;
A(3,3)=6;A(3,8)=8;
A(4,4)=4;A(4,9)=11;
A(5,5)=7;
b=[6000,10000,4000,7000,4000]';
Aeq = [1 1 -1 -1 -1 0 0 0 0
    0 0 0 0 0 1 1 -1 0];
beq = [0,0]';
lb = zeros(9,1);
[x fval] = linprog(c, A, b, Aeq, beq, lb);
fval = -fval

三、题目改进
在现实生活中产品不可能出现小数,因此可以是整数规划。
将最后的代码替换成这个即可。

intcon = 1:9;
[x,fval]=intlinprog(c,intcon,A,b,Aeq,beq,lb)
fval = -fval

你可能感兴趣的:(线性规划,matlab)