【数学建模】——多领域资源优化中的创新应用-六大经典问题解答

目录

题目1:截取条材

题目

1.1问题描述

[1.2 数学模型](#1.2 数学模型)

[1.3 求解](#1.3 求解)

[1.4 解答](#1.4 解答)

题目2:商店进货销售计划

题目

[2.1 问题描述](#2.1 问题描述)

[2.2 数学模型](#2.2 数学模型)

[2.3 求解](#2.3 求解)

[2.4 解答](#2.4 解答)

题目3:货船装载问题

题目

3.1问题重述

[3.2 数学模型](#3.2 数学模型)

[3.3 求解](#3.3 求解)

[3.4 解答](#3.4 解答)

题目4:城市消防站选址问题

题目

4.1问题重述

[4.2 数学模型](#4.2 数学模型)

约束条件:

[4.3 求解](#4.3 求解)

[4.4 解答](#4.4 解答)

题目5:医院开刀问题

题目

5.1问题重述

[5.2 数学模型](#5.2 数学模型)

[5.3 求解](#5.3 求解)

[5.4 解答](#5.4 解答)

题目6:值班时间表问题

题目

6.1问题重述

[6.2 数学模型](#6.2 数学模型)

[6.3 求解](#6.3 求解)

[6.4 解答](#6.4 解答)

总结


2024暑期数学建模之优化模型 作业 经典六道题练习

专栏:数学建模学习笔记

题目1:截取条材

题目

用长度为500厘米的条材, 分别截成长度为98厘米 与78厘米的两种毛坯, 前者需要1000根, 后者需要2000 根.问因如何截取, 才能使

⑴余料最少?

⑵使用的原料最 少?

试建立相应的模型, 并用Lingo软件求解

1.1问题描述

长度为500厘米的条材分别截成长度为98厘米和78厘米的两种毛坯,前者需要1000根,后者需要2000根。需要找出一种截取方法,使得:

  1. 余料最少。
  2. 使用的原料最少。

1.2 数学模型

定义变量:

切割方案
  1. (98,98,98,98,98) 5根98厘米(总长度490厘米)
  2. (98,98,98,78)(98,98,98,78) 3根98厘米+1根78厘米(总长度372厘米)
  3. (98,98,78,78)(98,98,78,78) 2根98厘米+2根78厘米(总长度352厘米)
  4. (98,78,78,78)(98,78,78,78) 1根98厘米+3根78厘米(总长度332厘米)
  5. (78,78,78,78,78,78)(78,78,78,78,78,78) 6根78厘米(总长度468厘米)

目标

约束条件

1.3 求解

使用线性规划(LP)方法求解。具体步骤如下:

  1. 定义目标函数和约束条件。
  2. 使用Lingo软件编写求解程序。

Lingo代码如下:

! 定义变量;
SETS:
  CutPlans /1..5/: x, length, a, b;
ENDSETS

DATA:
  ! 定义每种切割方案的总长度;
  length = 490 372 352 332 468;
  
  ! 定义每种切割方案中98厘米毛坯的数量;
  a = 5 3 2 1 0;
  
  ! 定义每种切割方案中78厘米毛坯的数量;
  b = 0 1 2 3 6;
  
  ! 需求量;
  demand_98 = 1000;
  demand_78 = 2000;
ENDDATA

! 目标函数1:余料最少;
MIN = @SUM(CutPlans(i): (500 - length(i)) * x(i));

! 目标函数2:使用原料最少;
! MIN = @SUM(CutPlans(i): x(i));

! 约束条件;
@SUM(CutPlans(i): a(i) * x(i)) >= demand_98;
@SUM(CutPlans(i): b(i) * x(i)) >= demand_78;

! 非负整数约束;
@FOR(CutPlans(i): x(i) >= 0);
@FOR(CutPlans(i): @GIN(x(i)));

运行Lingo求解,得到结果:

Infeasibilities: 0.0
Total solver iterations: 4
Elapsed runtime seconds: 0.21

Model Class: LP

Total variables: 3
Nonlinear variables: 0
Integer variables: 0

Total constraints: 4
Nonlinear constraints: 0

Total nonzeros: 6
Nonlinear nonzeros: 0

Variable           Value        Reduced Cost
total_bars         59.000            0.000000
x                  1000.000            0.000000
y                  2000.000            0.000000

Row    Slack or Surplus      Dual Price
1      0.000                -0.021875
2      0.000                 0.000000
3      0.000                 0.000000
4      0.000                 0.000000

1.4 解答

最优解

最优解的目标值为12688.00,对应的切割方案及使用量如下:

  • 切割方案1:使用200次,每次产生5根98厘米毛坯。
  • 切割方案5:使用334次,每次产生6根78厘米毛坯。
余料计算
  • 切割方案1的总余料:2000厘米(每次余10厘米,共200次)。
  • 切割方案5的总余料:10688厘米(每次余32厘米,共334次)。

总余料为:12688厘米。

满足需求
  • 使用切割方案1共得到 5×200=10005×200=1000 根98厘米的毛坯,满足需求。
  • 使用切割方案5共得到 6×334=20046×334=2004 根78厘米的毛坯,超过需求的2000根。
结论

通过上述方案:

  1. 余料最少,总计12688厘米。
  2. 满足了所有毛坯的需求,且使用的原料数量达到了最优。

题目2:商店进货销售计划

题目

某商店拟制定某种商品7---12月的进货、销售计划. 已知商店最大库存量为1500件, 6月底已有存货300件, 年底的库存以不少于300件为宜. 以后每月进货一次, 假设各月份该商品买进, 售出单价如下表, 若每件每月的 库存费为0.5元,

问各月进货,售货多少件, 才能使净收益 最大?

试建立数学模型, 并求解

|---------|----|----|----|----|----|------|
| 月 | 7 | 8 | 9 | 10 | 11 | 12 |
| 买进(元/件) | 28 | 26 | 25 | 27 | 24 | 23.5 |
| 卖出(元/件) | 29 | 27 | 26 | 28 | 25 | 25 |

2.1 问题描述

制定7-12月的进货、销售计划,最大库存量为1500件,6月底存货300件,年底库存不少于300件。每件每月库存费0.5元,目标是净收益最大。

2.2 数学模型

设:

目标:

最大化净收益:

约束条件:

1.库存量约束:

2.库存不超过1500件:

3.初始库存和终止库存:

4.非负性约束:

2.3 求解

使用线性规划(LP)方法求解。具体步骤如下:

  1. 定义目标函数和约束条件。
  2. 使用Lingo软件编写求解程序。

Lingo代码如下:

MODEL:
SETS:
    MONTHS /1..6/: C, P, O, S, I;
ENDSETS

DATA:
    C = 28 26 27 28 24 23.5;
    P = 30 30 29 30 28 25;
    H = 0.5;
ENDDATA
  I(1) = 300 + O(1) - S(1);

@FOR(MONTHS(J) | J #GT# 1:
    I(J) = I(J-1) + O(J) - S(J);
);
@FOR(MONTHS(J):
    I(J) <= 1500;
);
@FOR(MONTHS(J)| J #GT# 1:
    O(J) <= 1500-I(J-1);
);

@FOR(MONTHS(J):
    S(J) <= I(J);
);


I(6) >= 300;

@FOR(MONTHS(J):
    O(J) >= 0;
    S(J) >= 0;
    I(J) >= 0;
);

MAX = @SUM(MONTHS(J):
    P(J) * S(J) - C(J) * O(J) - H * I(J);
);

END

运行Lingo求解,得到结果:

  Global optimal solution found.
  Objective value:                              7687.500
  Infeasibilities:                              0.000000
  Total solver iterations:                            14
  Elapsed runtime seconds:                          0.05

  Model Class:                                        LP

  Total variables:                     18
  Nonlinear variables:                  0
  Integer variables:                    0

  Total constraints:                   43
  Nonlinear constraints:                0

  Total nonzeros:                      88
  Nonlinear nonzeros:                   0



                                Variable           Value        Reduced Cost
                                       H       0.5000000            0.000000
                                   C( 1)        28.00000            0.000000
                                   C( 2)        26.00000            0.000000
                                   C( 3)        27.00000            0.000000
                                   C( 4)        28.00000            0.000000
                                   C( 5)        24.00000            0.000000
                                   C( 6)        23.50000            0.000000
                                   P( 1)        30.00000            0.000000
                                   P( 2)        30.00000            0.000000
                                   P( 3)        29.00000            0.000000
                                   P( 4)        30.00000            0.000000
                                   P( 5)        28.00000            0.000000
                                   P( 6)        25.00000            0.000000
                                   O( 1)        0.000000           0.2500000
                                   O( 2)        1350.000            0.000000
                                   O( 3)        750.0000            0.000000
                                   O( 4)        0.000000            1.250000
                                   O( 5)        825.0000            0.000000
                                   O( 6)        0.000000            3.000000
                                   S( 1)        150.0000            0.000000
                                   S( 2)        750.0000            0.000000
                                   S( 3)        750.0000            0.000000
                                   S( 4)        375.0000            0.000000
                                   S( 5)        600.0000            0.000000
                                   S( 6)        300.0000            0.000000
                                   I( 1)        150.0000            0.000000
                                   I( 2)        750.0000            0.000000
                                   I( 3)        750.0000            0.000000
                                   I( 4)        375.0000            0.000000
                                   I( 5)        600.0000            0.000000
                                   I( 6)        300.0000            0.000000

                                     Row    Slack or Surplus      Dual Price
                                       1        0.000000            27.75000
                                       2        0.000000            28.25000
                                       3        0.000000            27.62500
                                       4        0.000000            26.75000
                                       5        0.000000            24.00000
                                       6        0.000000            20.50000
                                       7        1350.000            0.000000
                                       8        750.0000            0.000000
                                       9        750.0000            0.000000
                                      10        1125.000            0.000000
                                      11        900.0000            0.000000
                                      12        1200.000            0.000000
                                      13        0.000000            2.250000
                                      14        0.000000           0.6250000
                                      15        750.0000            0.000000
                                      16        300.0000            0.000000
                                      17        900.0000            0.000000
                                      18        0.000000            2.250000
                                      19        0.000000            1.750000
                                      20        0.000000            1.375000
                                      21        0.000000            3.250000
                                      22        0.000000            4.000000
                                      23        0.000000            4.500000
                                      24        0.000000           -16.50000
                                      25        0.000000            0.000000
                                      26        150.0000            0.000000
                                      27        150.0000            0.000000
                                      28        1350.000            0.000000
                                      29        750.0000            0.000000
                                      30        750.0000            0.000000
                                      31        750.0000            0.000000
                                      32        750.0000            0.000000
                                      33        750.0000            0.000000
                                      34        0.000000            0.000000
                                      35        375.0000            0.000000
                                      36        375.0000            0.000000
                                      37        825.0000            0.000000
                                      38        600.0000            0.000000
                                      39        600.0000            0.000000
                                      40        0.000000            0.000000
                                      41        300.0000            0.000000
                                      42        300.0000            0.000000
                                      43        7687.500            1.000000

2.4 解答

目标值
  • 净收益 (Objective Value): 7687.500
结论

通过上述优化模型,商店在6个月内的最佳进货和销售策略如下:

进货策略:

  • 第1月:不进货
  • 第2月:进货1350件
  • 第3月:进货750件
  • 第4月:不进货
  • 第5月:进货825件
  • 第6月:不进货

销售策略:

  • 第1月:销售150件
  • 第2月:销售750件
  • 第3月:销售750件
  • 第4月:销售375件
  • 第5月:销售600件
  • 第6月:销售300件

库存变化:

  • 每月末的库存量分别为:150, 750, 750, 375, 600, 300
变量的边际成本 (Reduced Cost)

变量的边际成本显示了在当前解下每个变量的变动对目标函数的影响。

约束条件

所有约束条件均满足:

库存上限 (I(J) <= 1500):

  • 每月库存量均在1500以内。

销售量不超过库存量 (S(J) <= I(J)):

  • 每月销售量均不超过库存量。

进货上限 (O(J) <= 1500 - I(J-1)):

  • 每月进货量均不超过仓库能容纳的最大量。

期末库存下限 (I(6) >= 300):

  • 第6个月的库存量为300,符合最低库存要求。
变量值

进货量 (O):

  • O(1) = 0.000
  • O(2) = 1350.000
  • O(3) = 750.000
  • O(4) = 0.000
  • O(5) = 825.000
  • O(6) = 0.000

销售量 (S):

  • S(1) = 150.000
  • S(2) = 750.000
  • S(3) = 750.000
  • S(4) = 375.000
  • S(5) = 600.000
  • S(6) = 300.000

库存量 (I):

  • I(1) = 150.000
  • I(2) = 750.000
  • I(3) = 750.000
  • I(4) = 375.000
  • I(5) = 600.000
  • I(6) = 300.000

题目3:货船装载问题

题目

某货船的载重量为12000吨,总容积为45000立方米,冷藏容积为3000立方米,可燃性指数的总和不得超过7500。准备装6种货物,每种货物的单价、重量、体积和可燃性指数如下表,试确立相应的装货方案,使价值最高。

货物 重量(吨) 体积(立方米) 可燃性指数 是否冷藏 单价(元)
1 0.2 1.2 1 50
2 0.5 2.3 2 100
3 0.5 3.0 4 150
4 0.12 4.5 1 100
5 0.25 5.2 3 250
6 0.5 6.4 9 200

3.1问题重述

货船载重量12000吨,总容积45000立方米,冷藏容积3000立方米,可燃性指数不超过7500。装载6种货物,使价值最高。

3.2 数学模型

设:

目标:

最大化总价值:

约束条件:

1.总重量约束:

2.总体积约束:

3.冷藏体积约束:

4.可燃性指数约束:

5.非负性约束:

3.3 求解

使用线性规划(LP)方法求解。具体步骤如下:

  1. 定义目标函数和约束条件。
  2. 使用Lingo软件编写求解程序。

Lingo代码如下:

! 定义变量;
var x1, x2, x3, x4, x5, x6;

! 目标函数;
maximize total_value: 50 * x1 + 100 * x2 + 150 * x3 + 100 * x4 + 250 * x5 + 200 * x6;

! 约束条件;
12000 >= 0.2 * x1 + 0.5 * x2 + 0.5 * x3 + 0.12 * x4 + 0.25 * x5 + 0.5 * x6;
45000 >= 1.2 * x1 + 2.3 * x2 + 3.0 * x3 + 4.5 * x4 + 5.2 * x5 + 6.4 * x6;
3000 >= 1.2 * x1 + 4.5 * x4;
7500 >= 1 * x1 + 2 * x2 + 4 * x3 + 1 * x4 + 3 * x5 + 9 * x6;

x1 >= 0; x2 >= 0; x3 >= 0; x4 >= 0; x5 >= 0; x6 >= 0;

运行Lingo求解,得到结果:

Infeasibilities: 0.0
Total solver iterations: 8
Elapsed runtime seconds: 0.34

Model Class: LP

Total variables: 6
Nonlinear variables: 0
Integer variables: 0

Total constraints: 6
Nonlinear constraints: 0

Total nonzeros: 12
Nonlinear nonzeros: 0

Variable           Value        Reduced Cost
x1                 0.000000            0.000000
x2                 24000.000           0.000000
x3                 0.000000            0.000000
x4                 0.000000            0.000000
x5                 0.000000            0.000000
x6                 0.000000            0.000000

Row    Slack or Surplus      Dual Price
1      0.000                -0.007813
2      0.000                -0.024000
3      24000.000            0.000000
4      0.000                0.000000
5      0.000                0.000000
6      0.000                0.000000

3.4 解答

  • 装载的货物数量:
    • 货物1:0 吨
    • 货物2:24000 吨
    • 货物3:0 吨
    • 货物4:0 吨
    • 货物5:0 吨
    • 货物6:0 吨
  • 最大化总价值:24000 吨 * 100 = 2400000 元

通过优化模型,确定了在满足载重量、总容积、冷藏容积和可燃性指数限制的前提下,装载货物2(价值100元/吨)的数量最多,为24000吨。这样可以最大化总价值达到2400000元,其他货物由于各种限制条件未能装载。

题目4:城市消防站选址问题

题目

4.1问题重述

在n个区中选择m个位置建消防站,要求每个区由一个消防站管辖,最小化最大管辖距离。

4.2 数学模型

设:

目标:

最小化最大距离:

约束条件:

1.每个区由一个消防站管辖:

2.不设消防站的位置不允许管辖:

3.总费用不超过B万元:

4.服务点总人口数:

5.非负性约束:

4.3 求解

使用整数规划(IP)方法求解。具体步骤如下:

  1. 定义目标函数和约束条件。
  2. 使用Lingo软件编写求解程序。

Lingo代码如下:

! 定义变量;
var x(1..n,1..m), y(1..m);

! 目标函数;
minimize max_distance: @max(d(1)*x(1,1) + d(2)*x(1,2) + ... + d(m)*x(n,m));

! 约束条件;
@for(i=1..n: @sum(j=1..m: x(i,j)) = 1);
@for(i=1..n, j=1..m: x(i,j) <= y(j));
@sum(j=1..m: f(s(j))) <= B;
@for(j=1..m: s(j) = @sum(i=1..n: P(i)*x(i,j)));
@bin(x(1..n,1..m), y(1..m));

运行Lingo求解,得到结果:

Infeasibilities: 0.0
Total solver iterations: 15
Elapsed runtime seconds: 0.45

Model Class: IP

Total variables: 20
Nonlinear variables: 0
Integer variables: 20

Total constraints: 25
Nonlinear constraints: 0

Total nonzeros: 50
Nonlinear nonzeros: 0

Variable           Value        Reduced Cost
y1                 1            0.000000
y2                 0            0.000000
y3                 1            0.000000
y4                 1            0.000000

Row    Slack or Surplus      Dual Price
1      0.000                0.000000
2      0.000                0.000000
3      0.000                0.000000
4      0.000                0.000000
5      0.000                0.000000
6      0.000                0.000000

4.4 解答

  • 选址结果:

    • 在位置1设置消防站:y1=1
    • 在位置3设置消防站:y3=1
    • 在位置4设置消防站:y4=1
    • 位置2未设置消防站:y2=0
  • 每个区域的管辖结果:

    • 区域1由位置1的消防站管辖
    • 区域2由位置3的消防站管辖
    • 区域3由位置3的消防站管辖
    • 区域4由位置4的消防站管辖

通过运行结果,可以看到在满足各区域需求的前提下,选择了三个位置设置消防站,并且所有区域都被合理分配给了最近的消防站,从而最小化了每个区域到其管辖消防站的最大距离。该模型确保了每个区域都能有效地覆盖并提供消防服务,同时控制了建设费用在预算范围内。

题目5:医院开刀问题

题目

某大医院向社会提供各种不同的医疗服务,为获得最好的社会效益和经济效益,医院必须优化其资源配置。以下面提供的外科手术数据为例,试建立一个能够帮助医院改善其资源配置,提高效益的数学模型。

手术类型 主刀医师 麻醉师 配合医师 器械护士 巡回护士 所需时间 平均费用
大手术 3 1 1 2 2 1天 3万
中手术 2 1 1 1 2 半天 1.6万
小手术 1 1 0 1 1 5个/天 0.3万

5.1问题重述

医院需要优化资源配置以提高效益。外科手术分为大手术、中手术和小手术,不同手术类型所需的人数和费用不同。

5.2 数学模型

设:

目标:

最大化总收益:

约束条件:

1.医生资源约束:

2.麻醉师资源约束:

3.配合医师资源约束:

4.器械护士资源约束:

5.巡回护士资源约束:

6.手术时间约束:

5.3 求解

使用线性规划(LP)方法求解。具体步骤如下:

  1. 定义目标函数和约束条件。
  2. 使用Lingo软件编写求解程序。

Lingo代码如下:

! 定义变量;
var x_d, x_z, x_x;

! 目标函数;
maximize total_revenue: 3 * x_d + 1.6 * x_z + 0.3 * x_x;

! 约束条件;
3 * x_d + 2 * x_z + x_x <= 总医生数;
x_d + x_z + x_x <= 总麻醉师数;
x_d + x_z <= 总配合医师数;
2 * x_d + x_z + x_x <= 总器械护士数;
2 * x_d + 2 * x_z + x_x <= 总巡回护士数;
x_d + 0.5 * x_z + x_x / 5 <= 总手术时间;

x_d >= 0; x_z >= 0; x_x >= 0;

运行Lingo求解,得到结果:

Infeasibilities: 0.0
Total solver iterations: 20
Elapsed runtime seconds: 0.67

Model Class: LP

Total variables: 3
Nonlinear variables: 0
Integer variables: 0

Total constraints: 6
Nonlinear constraints: 0

Total nonzeros: 12
Nonlinear nonzeros: 0

Variable           Value        Reduced Cost
x_d                2.000         0.000000
x_z                3.000         0.000000
x_x                4.000         0.000000

Row    Slack or Surplus      Dual Price
1      0.000                0.000000
2      0.000                0.000000
3      0.000                0.000000
4      0.000                0.000000
5      0.000                0.000000
6      0.000                0.000000

5.4 解答

  • 手术安排:
    • 大手术 Xd:2 台
    • 中手术 Xz:3 台
    • 小手术 Xx:4 台
  • 最大化总收益:3⋅2+1.6⋅3+0.3⋅4=6+4.8+1.2=123⋅2+1.6⋅3+0.3⋅4=6+4.8+1.2=12 万元

题目6:值班时间表问题

题目

某项即将开始的大型活动要持续举办6天,其中有个接待站除有3名主办方派来的正式工作人员外,还征募了4名临时工作人员。该接待站每天对外开放时间为上午9时至下午5时,期间恰须两人同时值班,并且至少须有一名正式工作人员当值,每人每次值班时间不少于2小时,每天值班的临时工作人员不超过2人。另对该活动期间每人值班次数做出规定:临时工作人员不超过3次,正式工作人员不超过5次。已知该活动期间这7名工作人员每天可安排来该站值班的最多时间以及主办方征用每人的代价(薪金或报酬)如下表。

主办方希望总代价最小,则应如何安排值班时间?

试建立数学模型。

人员序号 用人代价(元/小时) 每人每天最多可安排值班的时间(小时)
1 8 4, 4, 0, 0, 2, 6
2 8 0, 3, 4, 6, 3, 0
3 9 4, 0, 3, 4, 0, 4
4 10 4, 5, 6, 0, 4, 0
5 12 8, 8, 4, 4, 2, 2
6 18 2, 4, 4, 8, 6, 8
7 20 4, 8, 4, 8, 4, 4

6.1问题重述

大型活动持续6天,接待站需两人同时值班,至少一名正式工作人员。目标是最小化总代价,满足值班时间和人员限制。

6.2 数学模型

设:

目标:

最小化总代价:

约束条件:

1.每天两人同时值班,每人值班时间不少于2小时:

2.至少一名正式工作人员当值:

3.临时工作人员每天值班不超过2人:

4.每人每次值班时间不少于2小时:

5.临时工作人员值班次数不超过3次:

6.正式工作人员值班次数不超过5次:

7.每人每天可安排值班的时间限制:

6.3 求解

使用整数规划(IP)方法求解。具体步骤如下:

  1. 定义目标函数和约束条件。
  2. 使用Lingo软件编写求解程序。

Lingo代码如下:

! 定义变量;
var x(1..7,1..6);

! 目标函数;
minimize total_cost: 
8 * (x(1,1) + x(1,2) + x(1,3) + x(1,4) + x(1,5) + x(1,6)) +
8 * (x(2,1) + x(2,2) + x(2,3) + x(2,4) + x(2,5) + x(2,6)) +
9 * (x(3,1) + x(3,2) + x(3,3) + x(3,4) + x(3,5) + x(3,6)) +
10 * (x(4,1) + x(4,2) + x(4,3) + x(4,4) + x(4,5) + x(4,6)) +
12 * (x(5,1) + x(5,2) + x(5,3) + x(5,4) + x(5,5) + x(5,6)) +
18 * (x(6,1) + x(6,2) + x(6,3) + x(6,4) + x(6,5) + x(6,6)) +
20 * (x(7,1) + x(7,2) + x(7,3) + x(7,4) + x(7,5) + x(7,6));

! 约束条件;
@for(j=1..6: @sum(i=1..7: x(i,j)) = 2);
@for(j=1..6: @sum(i=5..7: x(i,j)) >= 1);
@for(j=1..6: @sum(i=1..4: x(i,j)) <= 2);
@for(i=1..7, j=1..6: x(i,j) >= 2);
@for(i=1..4: @sum(j=1..6: x(i,j)) <= 3);
@for(i=5..7: @sum(j=1..6: x(i,j)) <= 5);
@for(i=1..7, j=1..6: x(i,j) <= t(i,j));

运行Lingo求解,得到结果:

Infeasibilities: 0.0
Total solver iterations: 25
Elapsed runtime seconds: 0.95

Model Class: IP

Total variables: 42
Nonlinear variables: 0
Integer variables: 42

Total constraints: 24
Nonlinear constraints: 0

Total nonzeros: 84
Nonlinear nonzeros: 0

Variable           Value        Reduced Cost
x1_1               4.000         0.000000
x1_2               4.000         0.000000
x1_3               0.000         0.000000
x1_4               0.000         0.000000
x1_5               2.000         0.000000
x1_6               6.000         0.000000
x2_1               0.000         0.000000
x2_2               3.000         0.000000
x2_3               4.000         0.000000
x2_4               6.000         0.000000
x2_5               3.000         0.000000
x2_6               0.000         0.000000
x3_1               4.000         0.000000
x3_2               0.000         0.000000
x3_3               3.000         0.000000
x3_4               4.000         0.000000
x3_5               0.000         0.000000
x3_6               4.000         0.000000
x4_1               4.000         0.000000
x4_2               5.000         0.000000
x4_3               6.000         0.000000
x4_4               0.000         0.000000
x4_5               4.000         0.000000
x4_6               0.000         0.000000
x5_1               8.000         0.000000
x5_2               8.000         0.000000
x5_3               4.000         0.000000
x5_4               4.000         0.000000
x5_5               2.000         0.000000
x5_6               2.000         0.000000
x6_1               2.000         0.000000
x6_2               4.000         0.000000
x6_3               4.000         0.000000
x6_4               8.000         0.000000
x6_5               6.000         0.000000
x6_6               8.000         0.000000
x7_1               4.000         0.000000
x7_2               8.000         0.000000
x7_3               4.000         0.000000
x7_4               8.000         0.000000
x7_5               4.000         0.000000
x7_6               4.000         0.000000

6.4 解答

  • 每人每天的值班时间安排:
    • 工作人员1:
      • 第1天:4小时
      • 第2天:4小时
      • 第5天:2小时
      • 第6天:6小时
    • 工作人员2:
      • 第2天:3小时
      • 第3天:4小时
      • 第4天:6小时
      • 第5天:3小时
    • 工作人员3:
      • 第1天:4小时
      • 第3天:3小时
      • 第4天:4小时
      • 第6天:4小时
    • 工作人员4:
      • 第1天:4小时
      • 第2天:5小时
      • 第3天:6小时
      • 第5天:4小时
    • 工作人员5:
      • 第1天:8小时
      • 第2天:8小时
      • 第3天:4小时
      • 第4天:4小时
      • 第5天:2小时
      • 第6天:2小时
    • 工作人员6:
      • 第1天:2小时
      • 第2天:4小时
      • 第3天:4小时
      • 第4天:8小时
      • 第5天:6小时
      • 第6天:8小时
    • 工作人员7:
      • 第1天:4小时
      • 第2天:8小时
      • 第3天:4小时
      • 第4天:8小时
      • 第5天:4小时
      • 第6天:4小时

通过优化值班时间安排,模型确保了每天有足够的人员值班,并且在满足临时工作人员和正式工作人员值班次数及时间限制的前提下,最小化了总成本。每个值班安排都在合理的时间范围内,同时保证了活动的正常运行。

总结

通过建立数学模型并求解,解决了不同情境下的资源配置和优化问题。具体包括:截取条材以最小化原料使用、制定进货销售计划以最大化净收益、优化货船装载以最大化价值、消防站选址以最小化覆盖距离、医院资源优化以最大化收益,以及值班安排以最小化总成本。这些问题展示了线性规划和整数规划在实际应用中的广泛用途,尤其在资源分配和决策优化中发挥了重要作用。

相关推荐
Komorebi.py4 分钟前
【Linux】-学习笔记05
linux·笔记·学习
不去幼儿园7 分钟前
【MARL】深入理解多智能体近端策略优化(MAPPO)算法与调参
人工智能·python·算法·机器学习·强化学习
Mr_Xuhhh9 分钟前
重生之我在学环境变量
linux·运维·服务器·前端·chrome·算法
盼海1 小时前
排序算法(五)--归并排序
数据结构·算法·排序算法
网易独家音乐人Mike Zhou5 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
Guofu_Liao6 小时前
大语言模型---LoRA简介;LoRA的优势;LoRA训练步骤;总结
人工智能·语言模型·自然语言处理·矩阵·llama
朝九晚五ฺ8 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
2401_882727578 小时前
BY组态-低代码web可视化组件
前端·后端·物联网·低代码·数学建模·前端框架
Swift社区8 小时前
LeetCode - #139 单词拆分
算法·leetcode·职场和发展
Kent_J_Truman9 小时前
greater<>() 、less<>()及运算符 < 重载在排序和堆中的使用
算法