《数学建模与数学实验》第5版 线性规划 习题3.4

本文探讨了多个实际问题的优化解决方案,包括鸡饲料配比降低成本、工厂机床调度、产品生产规划、医院护士排班、煤炭供应分配、产品组合与生产计划以及工厂设备利用率提升。通过建立数学模型和使用线性规划方法,得出最优决策,以实现成本最小化、利润最大化和资源高效利用。同时,进行了灵敏度分析以评估方案的稳定性。
摘要由CSDN通过智能技术生成

文章目录


参考教材:《数学建模与教学实验》第5版
提示:以下是本篇文章正文内容,来自参考教材课后习题。

1. 某鸡场有1000只鸡,用动物饲料和谷物混合喂养.每天每只鸡平均食混合饲料0.5kg,其中动物饲料所占比例不能少于20%.动物饲料每千克0.30元,谷物饲料每千克0.18元,饲料公司每周仅保证供应谷物饲料6000kg

问饲料怎样混合,才能使成本最低?
解:设每天每只鸡动物饲料 x 1 k g x_1kg x1kg,谷物饲料 x 2 k g x_2kg x2kg混合喂养。
建立模型:
min ⁡ w = 150 x 1 + 90 x 2 s . t { x 1 + x 2 = 1 x 1 ⩾ 0.2 7 x 2 ⩽ 12 x 1 , x 2 ⩾ 0 \min w=150x_1+90x_2\\s.t\left\{ \begin{array}{c} x_1+x_2=1\\ x_1\geqslant 0.2\\ 7x_2\leqslant 12\\ x_1,x_2\geqslant 0\\\end{array} \right. minw=150x1+90x2s.t x1+x2=1x10.27x212x1,x20

matlab解题:

% 目标函数
f = [150 90];
% 不等式约束
a = [-1 0;0 7];
b = [-0.2;12];
% 等式约束
aeq = [1 1];
beq = [1];
% 上下限
vlb = zeros(2,1);
vub = [];
[x,fval] = linprog(f,a,b,aeq,beq,vlb,vub)

在这里插入图片描述
x 1 = 0.2 , x 2 = 0.8 x_1=0.2,x_2=0.8 x1=0.2x2=0.8时成本最小为102元。

(lingo解题):

model:
minw=150*x1+90*x2;
x1+x2=1;
x1>=0.2;
7*x2<=12;
end

在这里插入图片描述

2. 某工厂用A1,A2两台机床加工B1,B2,B3三种不同零件. 已知在一个生产周期内A1只能工作80机时,A2只能工作100机时. 一个生产周期内计划加工B1 70件、B2 50件、B3 20件.

问怎样安排两台机床一个周期的加工任务,才能使加工成本最低?
两台机床加工每个零件的时间和加工每个零件的成本分别如下列各表所示:

加工每种零件时间表(机时)

机床 B 1 B_1 B1 B 2 B_2 B2 B 1 B_1 B1
A 1 A_1 A1123
A 2 A_2 A2113

加工每种零件成本表(元)

机床 B 1 B_1 B1 B 2 B_2 B2 B 1 B_1 B1
A 1 A_1 A1235
A 2 A_2 A2336

解:设 A 1 A_1 A1机床上面加工零件 B 1 , B 2 , B 3 B_1,B_2,B_3 B1B2B3的个数分别为 X 11 , X 21 , X 31 X_{11},X_{21},X_{31} X11X21X31,在 A 2 A_2 A2机床上面加工零件的个数分别为 X 12 , X 22 , X 32 X_{12},X_{22},X_{32} X12,X22,X32
建立模型:
min ⁡ w = 2 x 11 + 3 x 12 + 5 x 13 + 3 x 21 + 3 x 22 + 6 x 23 s . t { x 11 + 2 x 12 + 3 x 13 ⩽ 80 x 21 + x 22 + 3 x 23 ⩽ 100 x 11 + x 21 = 70 x 12 + x 22 = 50 x 13 + x 23 = 20 x i j ⩾ 0 , ( i j = 1 , 2 , 3. ) \min w=2x_{11}+3x_{12}+5x_{13}+3x_{21}+3x_{22}+6x_{23}\\s.t\left\{ \begin{array}{c} x_{11}+2x_{12}+3x_{13}\leqslant 80\\ x_{21}+x_{22}+3x_{23}\leqslant 100\\ x_{11}+x_{21}=70\\ x_{12}+x_{22}=50\\ x_{13}+x_{23}=20\\ x_{ij}\geqslant 0,\left( ij=1,2,3. \right)\\\end{array} \right. minw=2x11+3x12+5x13+3x21+3x22+6x23s.t x11+2x12+3x1380x21+x22+3x23100x11+x21=70x12+x22=50x13+x23=20xij0,(ij=1,2,3.)
变量为整数

matlab解题:

% 目标函数
f = [2 3 5 3 3 6];
% 整数个数
intcon = [1,2,3,4,5,6];
% 不等式约束
a = [1 2 3 0 0 0;0 0 0 1 1 3];
b = [80;100];
% 等式约束
aeq = [1 0 0 1 0 0;0 1 0 0 1 0;0 0 1 0 0 1];
beq = [70;50;20];
% 上下限
vlb = zeros(6,1);
vub = [];
[x,fval] = intlinprog(f,intcon,a,b,aeq,beq,vlb,vub)

在这里插入图片描述

A 1 A_1 A1机床上面加工零件 B 1 , B 2 , B 3 B_1,B_2,B_3 B1B2B3的个数分别为 X 11 = 68 , X 21 = 0 , X 31 = 4 X_{11}=68,X_{21}=0,X_{31}=4 X11=68X21=0X31=4,在 A 2 A_2 A2机床上面加工零件的个数分别为 X 12 = 2 , X 22 = 50 , X 32 = 16 X_{12}=2,X_{22}=50,X_{32}=16 X12=2,X22=50,X32=16,成本最低为408元。
lingo解题:

model:
minw=2*x11+3*x12+5*x13+3*x21+3*x22+6*x23;
x11+2*x12+3*x13<=80;
x21+x22+3*x23<=100;
x11+x21=70;
x12+x22=50;
x13+x23=20;
end

3. 某工厂利用两种原料甲、乙生产 A 1 、 A 2 、 A 3 A_1、A_2、A_3 A1A2A3三种产品.

每月可供应的原材料数量(单位:t)每万件产品所需各种原料的数量及每万件产品的价格如下表所示:

原料 A 1 A_1 A1 A 2 A_2 A2 A 3 A_3 A3每月原料供应量/t
431180
263200
价格/万元1254

(1).试制定每月最优生产计划,使得总收益最大;

解:设 x i j ( i j = 1 , 2 , 3 ) x_{ij}(ij=1,2,3) xij(ij=1,2,3)表示甲乙两种原料分别生产的三种产品数.
建立模型:
max ⁡ w = 12 x 11 + 5 x 12 + 4 x 13 + 12 x 21 + 5 x 22 + 4 x 23 s . t { 4 x 11 + 3 x 12 + x 13 ⩽ 180 2 x 21 + 6 x 22 + 3 x 23 ⩽ 200 x i j ⩾ 0 , ( i j = 1 , 2 , 3 ) \max w=12x_{11}+5x_{12}+4x_{13}+12x_{21}+5x_{22}+4x_{23}\\s.t\left\{ \begin{array}{c} 4x_{11}+3x_{12}+x_{13}\leqslant 180\\ 2x_{21}+6x_{22}+3x_{23}\leqslant 200\\ x_{ij}\geqslant 0,\left( ij=1,2,3 \right)\\\end{array} \right. maxw=12x11+5x12+4x13+12x21+5x22+4x23s.t 4x11+3x12+x131802x21+6x22+3x23200xij0,(ij=1,2,3)
matlab解题:

% 目标函数
f = [12 5 4 12 5 4];
% 不等式约束
a = [4 3 1 0 0 0;0 0 0 2 6 3];
b = [180;200];
% 等式约束
aeq = [];
beq = [];
% 上下限
vlb = zeros(6,1);
vub = [];
[x,fval] = linprog(-f,a,b,aeq,beq,vlb,vub)

在这里插入图片描述
计划甲生产 A 3 A_3 A3产品180,乙生产 A 1 A_1 A1产品100,总收益最大为1920万元。
lingo求解:
在这里插入图片描述

(2).对求得的最优生产计划进行灵敏性分析.

在这里插入图片描述
如上结果可得出甲的影子价格为4,乙的影子价格为6;
最优值不变条件下目标函数系数的允许变化范围为: x 11 ( 12 , 16 ) , x 12 ( 5 , 12 ) , x 13 ( 3 , 4 ) , x 21 ( 2.667 , 12 ) , x 22 ( 5 , 36 ) , x 23 ( 4 , 18 ) x_{11}(12,16),x_{12}(5,12),x_{13}(3,4),x_{21}(2.667,12),x_{22}(5,36),x_{23}(4,18) x11(12,16),x12(5,12),x13(3,4),x21(2.667,12),x22(5,36),x23(4,18)甲乙的原料供应量不能增加。可允许降低。注意: x 11 x_{11} x11系数的允许范围想要其他变量保持不变。

4. 每班的护士在值班开始时向病房报到,连续工作8个小时.

某医院负责人每日至少需要下列数量的护士:

班次时间最少护士数
16:00-10:0060
210:00-14:0070
314:00-18:0060
418:00-22:0050
522:00-2:0020
62:00-6:0030

医院领导为满足每班所需要的护士数,最少需要雇佣多少护士?
解:设 x i ( i = 1 , 2 , . . . , 6 ) x_i(i=1,2,...,6) xi(i=1,2,...,6)为6班次的护士数。
模型建立:
min ⁡ f = x 1 + x 2 + x 3 + x 4 + x 5 + x 6 s . t { x 1 ⩾ 60 x 1 + x 2 ⩾ 70 x 2 + x 3 ⩾ 60 x 3 + x 4 ⩾ 50 x 4 + x 5 ⩾ 20 x 5 + x 6 ⩾ 30 x i ⩾ 0 ( i = 1 , 2 , ⋯   , 6 ) 为整数 \min f=x_1+x_2+x_3+x_4+x_5+x_6\\s.t\left\{ \begin{array}{c} x_1\geqslant 60\\ x_1+x_2\geqslant 70\\ x_2+x_3\geqslant 60\\ x_3+x_4\geqslant 50\\ x_4+x_5\geqslant 20\\ x_5+x_6\geqslant 30\\ x_i\geqslant 0\left( i=1,2,\cdots ,6 \right) \text{为整数}\\\end{array} \right. minf=x1+x2+x3+x4+x5+x6s.t x160x1+x270x2+x360x3+x450x4+x520x5+x630xi0(i=1,2,,6)为整数

matlab求解:

% 目标函数
f = [1 1 1 1 1 1];
% 整数变量个数
intcon = [1,2,3,4,5,6];
% 不等式约束
a = [1 0 0 0 0 0;1 1 0 0 0 0;0 1 1 0 0 0;0 0 1 1 0 0;0 0 0 1 1 0;0 0 0 0 1 1];
b = [60;70;60;50;20;30];
% 等式约束
aeq = [];
beq = [];
% 上下限
vlb = zeros(6,1);
vub = [];
[x,fval] = intlinprog(f,intcon,-a,-b,aeq,beq,vlb,vub)

在这里插入图片描述
最少雇佣150护士。
lingo求解:

model:
min=x1+x2+x3+x4+x5+x6;
x1>=60;
x1+x2>=70;
x2+x3>=60;
x3+x4>=50;
x4+x5>=20;
x5+x6>=30;
@gin(x1);@gin(x2);@gin(x3);@gin(x4);@gin(x5);@gin(x6);

在这里插入图片描述

5. 某工厂生产 A1 、A2 两种型号的产品都必须经过零件装配和检验两道工序 , 如果每天 可用于零件装配的工时只有 100 h , 可用于检验的工时只有 120 h.

各型号产品每件需占用 各工序时数和可获得的利润如下表所示

工序 A 1 A_1 A1 A 2 A_2 A2可用工时/h
装配/h23100
检验/h42120
利润/元64

(1).试写出此问题的数学模型 , 并求出最优化生产方案

解:设生产产品 A 1 为 x 1 A_1为x_1 A1x1件, A 2 为 x 2 A_2为x_2 A2x2件。
建立模型:
max ⁡ f = 6 x 1 + 4 x 2 s . t { 2 x 1 + 3 x 2 ⩽ 100 4 x 1 + 2 x 2 ⩽ 120 x i ⩾ 0 ( i = 1 , 2 ) 为整数 \max f=6x_1+4x_2\\s.t\left\{ \begin{array}{c} 2x_1+3x_2\leqslant 100\\ 4x_1+2x_2\leqslant 120\\ x_i\geqslant 0\left( i=1,2 \right) \text{为整数}\\\end{array} \right. maxf=6x1+4x2s.t 2x1+3x21004x1+2x2120xi0(i=1,2)为整数
matlab求解:

% 目标函数
f = [6 4];
% 整数变量个数
intcon = [1,2];
% 不等式约束
a = [2 3;4 2];
b = [100;120];
% 等式约束
aeq = [];
beq = [];
% 上下限
vlb = zeros(2,1);
vub = [];
[x,fval] = intlinprog(-f,intcon,a,b,aeq,beq,vlb,vub)

在这里插入图片描述
生产 A 1 = 20 , A 2 = 20 A_1=20,A_2=20 A1=20A2=20,最优解为200.
lingo求解:

model:
max=6*x1+4*x2;
2*x1+3*x2<=100;
4*x1+2*x2<=120;
@gin(x1);@gin(x2);

在这里插入图片描述

(2).对产品 A1 的利润进行灵敏度分析

在这里插入图片描述
其中可以得出每增加一个单位的装配小时,利润增长0.5元,每增加一个单位的检验小时,利润增加1.25元。

(3).对装配工序的工时进行灵敏度分析

在这里插入图片描述
在最优值不变的条件下,目标系数允许变化范围: x 1 ( 2.667 , 8 ) , x 2 ( 3 , 9 ) ; x_1(2.667,8),x_2(3,9); x1(2.667,8),x2(3,9);当影子价格有意义时,约束右边项最多可增加装配时间:80,检验时间:80。

(4).如果工厂试制了 A3 型产品 , 每件 A3 产品需装配工时 4 h , 检验工时 2 h , 可获利 润 5 元 , 那么该产品是否应投入生产 ?

建立模型:
max ⁡ f = 6 x 1 + 4 x 2 + 5 x 3 s . t { 2 x 1 + 3 x 2 + 4 x 3 ⩽ 100 4 x 1 + 2 x 2 + 2 x 3 ⩽ 120 x i ⩾ 0 ( i = 1 , 2 , 3 ) 为整数 \max f=6x_1+4x_2+5x_3\\s.t\left\{ \begin{array}{c} 2x_1+3x_2+4x_3\leqslant 100\\ 4x_1+2x_2+2x_3\leqslant 120\\ x_i\geqslant 0\left( i=1,2,3 \right) \text{为整数}\\\end{array} \right. maxf=6x1+4x2+5x3s.t 2x1+3x2+4x31004x1+2x2+2x3120xi0(i=1,2,3)为整数

matlab求解:

% 目标函数
f = [6 4 5];
% 整数变量个数
intcon = [1,2,3];
% 不等式约束
a = [2 3 4;4 2 2];
b = [100;120];
% 等式约束
aeq = [];
beq = [];
% 上下限
vlb = zeros(3,1);
vub = [];
[x,fval] = intlinprog(-f,intcon,a,b,aeq,beq,vlb,vub)

在这里插入图片描述
利润在增加,可以投入生产。

6. 有两个煤厂A,B,每月进煤分别不少于60吨、100吨,它们担负供应三个居民 区的用煤任务,这三个居民区每月用煤分别为45吨、75吨、40吨。A厂离这三个 居民区分别为10公里、5公里、6公里,B厂离这三个居民区分别为4公里、8公里、 15公里.

问这两煤厂如何分配供煤,才能使总运输量最小?
解:设A,B分别向3个地区供煤 x i j ( i j = 1 , 2 , 3 ) x_{ij}(ij=1,2,3) xij(ij=1,2,3).
模型建立:
min ⁡ s = 10 x 11 + 5 x 12 + 6 x 13 + 4 x 21 + 8 x 22 + 15 x 23 s . t { x 11 + x 12 + x 13 ⩾ 60 x 21 + x 22 + x 23 ⩾ 100 x 11 + x 21 ⩾ 45 x 12 + x 22 ⩾ 75 x 13 + x 23 ⩾ 40 x i j ⩾ 0 ( i j = 1 , 2 , 3 ) \min s=10x_{11}+5x_{12}+6x_{13}+4x_{21}+8x_{22}+15x_{23}\\s.t\left\{ \begin{array}{c} x_{11}+x_{12}+x_{13}\geqslant 60\\ x_{21}+x_{22}+x_{23}\geqslant 100\\ x_{11}+x_{21}\geqslant 45\\ x_{12}+x_{22}\geqslant 75\\ x_{13}+x_{23}\geqslant 40\\ x_{ij}\geqslant 0\left( ij=1,2,3 \right)\\\end{array} \right. mins=10x11+5x12+6x13+4x21+8x22+15x23s.t x11+x12+x1360x21+x22+x23100x11+x2145x12+x2275x13+x2340xij0(ij=1,2,3)
matlab求解:

% 目标函数
f = [10 5 6 4 8 15];
% 整数变量个数
intcon = [1,2,3,4,5,6];
% 不等式约束
a = [1 1 1 0 0 0;0 0 0 1 1 1;1 0 0 1 0 0;0 1 0 0 1 0;0 0 1 0 0 1];
b = [60 100 45 75 40];
% 等式约束
aeq = [];
beq = [];
% 上下限
vlb = zeros(6,1);
vub = [];
[x,fval] = intlinprog(f,intcon,-a,-b,aeq,beq,vlb,vub)

在这里插入图片描述
A厂供煤0 20 40;B厂供煤45 55 0。总运输量为960。

7. 某工厂制造三种产品,生产这三种产品需要三种资源:技术服务,劳动力和行政管理.现有100h的技术服务、600好多劳动力和300好多行政管理.求最优产品品种规划.

下表列出三种单位产品对每种资源的需求量:

产品技术服务劳动力行政管理利润
110210
1426
1564

解:设生产一、二、三产品数为 x i ( i = 1 , 2 , 3 ) x_i(i=1,2,3) xi(i=1,2,3)
模型建立:
max ⁡ f = 10 x 1 + 6 x 2 + 4 x 3 s . t { x 1 + x 2 + x 3 ⩽ 100 10 x 1 + 4 x 2 + 5 x 3 ⩽ 600 2 x 1 + 2 x 2 + 6 x 3 ⩽ 300 x i ⩾ 0 ( i = 1 , 2 , 3 ) \max f=10x_1+6x_2+4x_3\\s.t\left\{ \begin{array}{c} x_1+x_2+x_3\leqslant 100\\ 10x_1+4x_2+5x_3\leqslant 600\\ 2x_1+2x_2+6x_3\leqslant 300\\ x_i\geqslant 0\left( i=1,2,3 \right)\\\end{array} \right. maxf=10x1+6x2+4x3s.t x1+x2+x310010x1+4x2+5x36002x1+2x2+6x3300xi0(i=1,2,3)

(1).若产品三值得生产,它利润是多少?假设利润增加到25/3,求获利。

matlab求解:

% 目标函数
f = [10 6 4];
% 整数变量个数
intcon = [1,2,3];
% 不等式约束
a = [1 1 1;10 4 5;2 2 6];
b = [100;600;300];
% 等式约束
aeq = [];
beq = [];
% 上下限
vlb = zeros(3,1);
vub = [];
[x,fval] = intlinprog(-f,intcon,a,b,aeq,beq,vlb,vub)

在这里插入图片描述
三利润增加到25/3:
在这里插入图片描述
产品三利润增加25/3不值得。

(2)确定全部资源的影子价格:

lingo求解:

model:
max=10*x1+6*x2+4*x3;
x1+x2+x3<=100;
10*x1+4*x2+5*x3<=600;
2*x1+2*x2+6*x3<=300;
@gin(x1);@gin(x2);@gin(x3);
end

在这里插入图片描述

由图可知,影子价格为0.

(3).要生产一种新产品,该产品需要技术服务1h,劳动力4h,行政管理4h,有8元利润。应有怎样对策?

模型改进:
max ⁡ f = 10 x 1 + 6 x 2 + 4 x 3 + 8 x 4 s . t { x 1 + x 2 + x 3 + x 4 ⩽ 100 10 x 1 + 4 x 2 + 5 x 3 + 4 x 4 ⩽ 600 2 x 1 + 2 x 2 + 6 x 3 + 4 x 4 ⩽ 300 x i ⩾ 0 ( i = 1 , 2 , 3 , 4 ) \max f=10x_1+6x_2+4x_3+8x_4\\s.t\left\{ \begin{array}{c} x_1+x_2+x_3+x_4\leqslant 100\\ 10x_1+4x_2+5x_3+4x_4\leqslant 600\\ 2x_1+2x_2+6x_3+4x_4\leqslant 300\\ x_i\geqslant 0\left( i=1,2,3,4 \right)\\\end{array} \right. maxf=10x1+6x2+4x3+8x4s.t x1+x2+x3+x410010x1+4x2+5x3+4x46002x1+2x2+6x3+4x4300xi0(i=1,2,3,4)
matlab求解:

% 目标函数
f = [10 6 4 8];
% 整数变量个数
intcon = [1,2,3,4];
% 不等式约束
a = [1 1 1 1;10 4 5 4;2 2 6 4];
b = [100;600;300];
% 等式约束
aeq = [];
beq = [];
% 上下限
vlb = zeros(4,1);
vub = [];
[x,fval] = intlinprog(-f,intcon,a,b,aeq,beq,vlb,vub)

在这里插入图片描述
生产一产品33,二产品17,三产品0,四产品50,最优利润为832.

(4).假定该工厂至少生产10件产品三,确定最优产品规划.

模型改进:
max ⁡ f = 10 x 1 + 6 x 2 + 4 x 3 s . t { x 1 + x 2 + x 3 ⩽ 100 10 x 1 + 4 x 2 + 5 x 3 ⩽ 600 2 x 1 + 2 x 2 + 6 x 3 ⩽ 300 x 3 ⩾ 10 x i ⩾ 0 ( i = 1 , 2 , 3 ) \max f=10x_1+6x_2+4x_3\\s.t\left\{ \begin{array}{c} x_1+x_2+x_3\leqslant 100\\ 10x_1+4x_2+5x_3\leqslant 600\\ 2x_1+2x_2+6x_3\leqslant 300\\ x_3\geqslant 10\\ x_i\geqslant 0\left( i=1,2,3 \right)\\\end{array} \right. maxf=10x1+6x2+4x3s.t x1+x2+x310010x1+4x2+5x36002x1+2x2+6x3300x310xi0(i=1,2,3)
matlab求解:

% 目标函数
f = [10 6 4];
% 整数变量个数
intcon = [1,2,3];
% 不等式约束
a = [1 1 1;10 4 5;2 2 6;0 0 -1];
b = [100;600;300;-10];
% 等式约束
aeq = [];
beq = [];
% 上下限
vlb = zeros(3,1);
vub = [];
[x,fval] = intlinprog(-f,intcon,a,b,aeq,beq,vlb,vub)

在这里插入图片描述

生产产品一31,生产产品二59,生产产品三10.最优利润为704

8. 已知某工厂计划生产1,2,3三种产品,各产品需要在ABC设备加工。

有关数据如下:

123每月设备有效台时
A8210300
B1058400
C21310420
单位产品利润/千元322.9

(1).如何发挥生产能力,使生产盈利最大?

解:设ABC分别加工123产品数 x i j ( i j = 1 , 2 , 3 ) x_ij(ij=1,2,3) xij(ij=1,2,3)
模型建立:
max ⁡ f 1 = 3 x 11 + 2 x 12 + 2.9 x 13 + 3 x 21 + 2 x 22 + 2.9 x 23 + 3 x 31 + 2 x 32 + 2.9 x 33 s . t { 8 x 11 + 2 x 12 + 10 x 13 ⩽ 300 10 x 21 + 5 x 22 + 8 x 23 ⩽ 400 2 x 31 + 13 x 32 + 10 x 33 ⩽ 420 x i j ⩾ 0 ( i j = 1 , 2 , 3 ) \max f_1=3x_{11}+2x_{12}+2.9x_{13}+3x_{21}+2x_{22}+2.9x_{23}+3x_{31}+2x_{32}+2.9x_{33}\\s.t\left\{ \begin{array}{c} 8x_{11}+2x_{12}+10x_{13}\leqslant 300\\ 10x_{21}+5x_{22}+8x_{23}\leqslant 400\\ 2x_{31}+13x_{32}+10x_{33}\leqslant 420\\ x_{ij}\geqslant 0\left( ij=1,2,3 \right)\\\end{array} \right. maxf1=3x11+2x12+2.9x13+3x21+2x22+2.9x23+3x31+2x32+2.9x33s.t 8x11+2x12+10x1330010x21+5x22+8x234002x31+13x32+10x33420xij0(ij=1,2,3)
matlab求解:

% 目标函数
f = [3 2 2.9;3 2 2.9;3 2 2.9];
% 不等式约束
a = [8 2 10 0 0 0 0 0 0;0 0 0 10 5 8 0 0 0;0 0 0 0 0 0 2 13 10];
b = [300;400;420];
% 等式约束
aeq = [];
beq = [];
% 上下限
vlb = zeros(9,1);
vub = [];
[x,fval] = linprog(-f,a,b,aeq,beq,vlb,vub)

在这里插入图片描述
A生产产品2数150,B生产产品2数80,C生产产品1数210,利润最大1219

(2).若为增加产量,解工厂设备B60台,租金1.8万,是否合算?

模型改进:
max ⁡ f 1 = 3 x 11 + 2 x 12 + 2.9 x 13 + 3 x 21 + 2 x 22 + 2.9 x 23 + 3 x 31 + 2 x 32 + 2.9 x 33 − 18 s . t { 8 x 11 + 2 x 12 + 10 x 13 ⩽ 300 10 x 21 + 5 x 22 + 8 x 23 ⩽ 460 2 x 31 + 13 x 32 + 10 x 33 ⩽ 420 x i j ⩾ 0 ( i j = 1 , 2 , 3 ) \max f_1=3x_{11}+2x_{12}+2.9x_{13}+3x_{21}+2x_{22}+2.9x_{23}+3x_{31}+2x_{32}+2.9x_{33}-18\\s.t\left\{ \begin{array}{c} 8x_{11}+2x_{12}+10x_{13}\leqslant 300\\ 10x_{21}+5x_{22}+8x_{23}\leqslant 460\\ 2x_{31}+13x_{32}+10x_{33}\leqslant 420\\ x_{ij}\geqslant 0\left( ij=1,2,3 \right)\\\end{array} \right. maxf1=3x11+2x12+2.9x13+3x21+2x22+2.9x23+3x31+2x32+2.9x3318s.t 8x11+2x12+10x1330010x21+5x22+8x234602x31+13x32+10x33420xij0(ij=1,2,3)

matlab求解:

% 目标函数
f = [3 2 2.9;3 2 2.9;3 2 2.9];
% 不等式约束
a = [8 2 10 0 0 0 0 0 0;0 0 0 10 5 8 0 0 0;0 0 0 0 0 0 2 13 10];
b = [300;460;420];
% 等式约束
aeq = [];
beq = [];
% 上下限
vlb = zeros(9,1);
vub = [];
[x,fval] = linprog(-f,a,b,aeq,beq,vlb,vub)
fval = fval-18

在这里插入图片描述
合算。

(3).假设另有两种新产品4,5。4需要用A12台,B5台,C10台,单位盈利2.1千元;5需要设备A4台,B4台,C12台,单位盈利1.87千元,如果ABC设备台时不增加,问新产品投入是否合算?

模型建立:
max ⁡ f 1 = 3 x 11 + 2 x 12 + 2.9 x 13 + 2.1 x 14 + 1.87 x 15 + 3 x 21 + 2 x 22 + 2.9 x 23 + 2.1 x 24 + 1.87 x 25 + 3 x 31 + 2 x 32 + 2.9 x 33 + 2.1 x 34 + 1.87 x 35 s . t { 8 x 11 + 2 x 12 + 10 x 13 + 12 x 14 + 4 x 15 ⩽ 300 10 x 21 + 5 x 22 + 8 x 23 + 5 x 24 + 4 x 25 ⩽ 400 2 x 31 + 13 x 32 + 10 x 33 + 10 x 34 + 12 x 35 ⩽ 420 x i j ⩾ 0 ( i j = 1 , 2 , 3 , 4 , 5 ) \max f_1=3x_{11}+2x_{12}+2.9x_{13}+2.1x_{14}+1.87x_{15}+3x_{21}+2x_{22}+2.9x_{23}+2.1x_{24}+1.87x_{25}+3x_{31}+2x_{32}+2.9x_{33}+2.1x_{34}+1.87x_{35}\\s.t\left\{ \begin{array}{c} 8x_{11}+2x_{12}+10x_{13}+12x_{14}+4x_{15}\leqslant 300\\ 10x_{21}+5x_{22}+8x_{23}+5x_{24}+4x_{25}\leqslant 400\\ 2x_{31}+13x_{32}+10x_{33}+10x_{34}+12x_{35}\leqslant 420\\ x_{ij}\geqslant 0\left( ij=1,2,3,4,5 \right)\\\end{array} \right. maxf1=3x11+2x12+2.9x13+2.1x14+1.87x15+3x21+2x22+2.9x23+2.1x24+1.87x25+3x31+2x32+2.9x33+2.1x34+1.87x35s.t 8x11+2x12+10x13+12x14+4x1530010x21+5x22+8x23+5x24+4x254002x31+13x32+10x33+10x34+12x35420xij0(ij=1,2,3,4,5)
matlab求解:

% 目标函数
f = [3 2 2.9 2.1 1.87;3 2 2.9 2.1 1.87;3 2 2.9 2.1 1.87];
% 不等式约束
a = [8 2 10 12 4 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 10 5 8 5 4 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 2 13 10 10 12];
b = [300;400;420];
% 等式约束
aeq = [];
beq = [];
% 上下限
vlb = zeros(15,1);
vub = [];
[x,fval] = linprog(-f,a,b,aeq,beq,vlb,vub)

在这里插入图片描述
不合算。

(4).对产品重新设计,改进A9台,B12台,c台,单位盈利4.5千元,对原计划有何影响?

模型建立:
max ⁡ f 1 = 4.5 x 11 + 2 x 12 + 2.9 x 13 + 4.5 x 21 + 2 x 22 + 2.9 x 23 + 4.5 x 31 + 2 x 32 + 2.9 x 33 s . t { 9 x 11 + 2 x 12 + 10 x 13 ⩽ 300 12 x 21 + 5 x 22 + 8 x 23 ⩽ 400 4 x 31 + 13 x 32 + 10 x 33 ⩽ 420 x i j ⩾ 0 ( i j = 1 , 2 , 3 ) \max f_1=4.5x_{11}+2x_{12}+2.9x_{13}+4.5x_{21}+2x_{22}+2.9x_{23}+4.5x_{31}+2x_{32}+2.9x_{33}\\s.t\left\{ \begin{array}{c} 9x_{11}+2x_{12}+10x_{13}\leqslant 300\\ 12x_{21}+5x_{22}+8x_{23}\leqslant 400\\ 4x_{31}+13x_{32}+10x_{33}\leqslant 420\\ x_{ij}\geqslant 0\left( ij=1,2,3 \right)\\\end{array} \right. maxf1=4.5x11+2x12+2.9x13+4.5x21+2x22+2.9x23+4.5x31+2x32+2.9x33s.t 9x11+2x12+10x1330012x21+5x22+8x234004x31+13x32+10x33420xij0(ij=1,2,3)
matlab求解:

% 目标函数
f = [4.5 2 2.9;4.5 2 2.9;4.5 2 2.9];
% 不等式约束
a = [9 2 10 0 0 0 0 0 0;0 0 0 12 5 8 0 0 0;0 0 0 0 0 0 4 13 10];
b = [300;400;420];
% 等式约束
aeq = [];
beq = [];
% 上下限
vlb = zeros(9,1);
vub = [];
[x,fval] = linprog(-f,a,b,aeq,beq,vlb,vub)

在这里插入图片描述

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值