草庐IT

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

小趴菜_ 2023-04-20 原文

文章目录


参考教材:《数学建模与教学实验》第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)

有关《数学建模与数学实验》第5版 线性规划 习题3.4的更多相关文章

  1. ruby-on-rails - 建模收藏夹 - 2

    我希望将Favorite模型添加到我的User和Link模型。业务逻辑用户可以有多个链接(即可以添加多个链接)用户可以收藏多个链接(他们自己的或其他用户的)一个链接可以被多个用户收藏,但只有一个所有者我对如何为这种关联建模以及在模型就位后如何创建用户收藏夹感到困惑?classUser 最佳答案 下面的数据模型怎么样:classUser:destroyhas_many:favorite_links,:through=>:favorites,:source=>:linkendclassLink:destroyhas_many:favor

  2. ruby - 我可以在 Ruby 中动态调用数学运算符吗? - 2

    ruby中有这样的东西吗?send(+,1,2)我想让这段代码看起来不那么冗余ifop=="+"returnarg1+arg2elsifop=="-"returnarg1-arg2elsifop=="*"returnarg1*arg2elsifop=="/"returnarg1/arg2 最佳答案 是的,只需像这样使用send(或者更好的是public_send):arg1.public_send(op,arg2)这是可行的,因为Ruby中的大多数运算符(包括+、-、*、/、andmore)只需调用方法。所以1+2与1.+(2)相同

  3. 建模分析 | 平面2R机器人(二连杆)运动学与动力学建模(附Matlab仿真) - 2

    目录0专栏介绍1平面2R机器人概述2运动学建模2.1正运动学模型2.2逆运动学模型2.3机器人运动学仿真3动力学建模3.1计算动能3.2势能计算与动力学方程3.3动力学仿真0专栏介绍?附C++/Python/Matlab全套代码?课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。?详情:图解自动驾驶中的运动规划(MotionPlanning),附几十种规划算法1平面2R机器人概述如图1所示为本文的研究本体——平面2R机器人。对参数进行如下定义:机器人广义坐标

  4. ruby |设计数学? - 2

    情况:我正在编写一个程序来求解素数。我需要解决4x^2+y^2=n的问题,其中n是一个已知变量。是的,必须是Ruby。我愿意在这个项目上花费大量时间。我最好自己编写方程式的求解算法,并将其作为该项目的一部分。我真正喜欢的是:如果任何人都可以向我提供指南、网站的链接,或者关于与求解代数方程特别相关的形式算法的构造的歧义消除,或者向我提供似乎你是读者它会帮助我完成任务。请不要建议我使用其他语言。如果您在回答之前接受我真的非常想这样做,我将不胜感激。该项目没有范围或时间限制,也不以营利为目的。这是为了我自己的教育。注意:我并不直接反对为Ruby实现和使用现存的数学库/模块/其他东西,但我更喜

  5. ruby - 我在哪里可以找到 Ruby 中的数学密集型应用程序 - 2

    我发现许多Rails应用程序主要针对企业、社交网络类型的Web应用程序。我看到有人将Ruby与一些出色的OOPS语言(如Java和C#)进行了比较,但我确实发现很难获得一些数学密集型应用程序。非常感谢任何知识渊博的输入(指向示例程序的链接等),其中轻松显示了语言的用法,就像快速启动或显示该语言如何用于各种数学问题一样。 最佳答案 不幸的是,Ruby并没有在数学和科学计算领域涉足太多。目前,有一个名为SciRuby的pre-alpha库它试图为Ruby带来更多面向数学的功能。他们正试图构建一个NumPy/SciPy等价物。SciRub

  6. ruby-on-rails - 如何针对组合字段的唯一性对这种复杂的验证进行建模 - 2

    link有两个组件:componenta_id和componentb_id。为此,在Link模型文件中我有:belongs_to:componenta,class_name:"Component"belongs_to:componentb,class_name:"Component"validates:componenta_id,presence:truevalidates:componentb_id,presence:truevalidates:componenta_id,uniqueness:{scope::componentb_id}validates:componentb_id

  7. 网络实验之RIPV2协议(一) - 2

    一、RIPV2协议简介  RIP(RoutingInformationProtocol)路由协议是一种相对古老,在小型以及同介质网络中得到了广泛应用的一种路由协议。RIP采用距离向量算法,是一种距离向量协议。RIP-1是有类别路由协议(ClassfulRoutingProtocol),它只支持以广播方式发布协议报文。RIP-1的协议报文无法携带掩码信息,它只能识别A、B、C类这样的自然网段的路由,因此RIP-1不支持非连续子网(DiscontiguousSubnet)。RIP-2是一种无类别路由协议(ClasslessRoutingProtocol),支持路由标记,在路由策略中可根据路由标记对

  8. 设计一个亿级高并发系统架构 - 12306火车票核心场景DDD领域建模 - 2

    “架设一个亿级高并发系统,是多数程序员、架构师的工作目标。许多的技术从业人员甚至有时会降薪去寻找这样的机会。但并不是所有人都有机会主导,甚至参与这样一个系统。今天我们用12306火车票购票这样一个业务场景来做DDD领域建模。”开篇要实现软件设计、软件开发在一个统一的思想、统一的节奏下进行,就应该有一个轻量级的框架对开发过程与代码编写做一定的约束。虽然DDD是一个软件开发的方法,而不是具体的技术或框架,但拥有一个轻量级的框架仍然是必要的,为了开发一个支持DDD的框架,首先需要理解DDD的基本概念和核心的组件。一.什么是领域驱动设计(DDD)首先要知道DDD是一种开发理念,核心是维护一个反应领域概

  9. 第1部分 实验拓扑、终端服务器 - 2

    目录1.1访问Cisco路由器的方法1.1.1通过Console口访问路由器1.1.2通过Telnet访问路由器1.1.3终端访问服务器1.2终端访问服务器配置命令汇总1.1访问Cisco路由器的方法    路由器没有键盘和鼠标,要初始化路由器需要把计算机的串口和路由器的Console口进行连接。访问Cisco路由器的方法还有Telnet、WebBrowser和网络管理软件(如CiscoWorks)等,本节讨论前2种。1.1.1通过Console口访问路由器    计算机的串口和路由器的Console口是通过反转线(Rollover)进行连接的,反转线的一端接在路由器的Console口上,另一

  10. 线性代数让我想想:快速求三阶矩阵的逆矩阵 - 2

    快速求三阶矩阵的逆矩阵前言一般情况下,我们求解伴随矩阵是要注意符号问题和位置问题的(如下所示)A−1=1[  ][−[  ]−[  ]−[  ]  −[  ]]=A−1=1[  ][   M11−[M12]   M13−[M21]   M22−[M23]     M31−[M32]   M33]⊤\begin{aligned}&A^{-1}=\frac{1}{[\\]}\left[\begin{array}{cccccc}&-[\\]&\\-[\\]&&-[\\]\\\\&-[\\]&\\\end{array}\right]=\\\\&A^{-1}=\frac{1}{[\\]}\left[\b

随机推荐