线性规划(二)——数学模型样例

描述

  • 线性规划的数学模型通常可以使用计算机求解,因此现实中的难点通常在于
    • 理解要解决的问题
    • 应该将什么作为决策变量?
    • 如何构建线性目标函数?
    • 约束条件有哪些,是否足够完善?
  • 通过大量的例子的练习,可以提高我们对于现实问题的分析能力,进而归纳总结
  • 注:先不要看解,最好自己思考出解,这是在磨砺抽象实际问题的能力

例子一——供给、运输问题

  • 题目:
    • 某汽车企业,有三个汽车制造工厂A、B、C,四个销售中心D、E、F、G。汽车制造工厂和销售中心都在不同的位置,现需要将工厂生产出的汽车调运到销售中心售卖,运输会有不同的成本。将工厂生产数、销售中心预计销量、运输成本汇总后,统计如下图。我们应该如何制定调运方案,以节省运输成本?
工厂\销售中心DEFG生产数(辆)
A428720
B764925
C637115
预计销售(辆)14161512
  • 解:
    • 由题意,我们可以直接设
      • A工厂运输到D销售中心的汽车数量为 x A D x_{AD} xAD
      • A工厂运输到E销售中心的汽车数量为 x A E x_{AE} xAE
      • ……
      • C工厂运输到G销售中心的汽车数量为 x C G x_{CG} xCG
    • 则总运费为各汽车数量乘以运费后的和
      f = 4 x A D + 2 x A E + 8 x A F + 7 x A G + 7 x B D + 6 x B E + 4 x B F + 9 x B G + 6 x C D + 3 x C E + 7 x C F + x C G f=4x_{AD} + 2x_{AE} + 8x_{AF} + 7x_{AG} + 7x_{BD} + 6x_{BE} + 4x_{BF} + 9x_{BG} + 6x_{CD} + 3x_{CE} + 7x_{CF} + x_{CG} f=4xAD+2xAE+8xAF+7xAG+7xBD+6xBE+4xBF+9xBG+6xCD+3xCE+7xCF+xCG
    • 显然,
      • A、B、C各自运输到不同销售中心的汽车数据不能超过自己生产的总量
      • D、E、F、G销售中心收到汽车数量应大于预计销售量(这样才能满足销售需求)
    • 那么,我们可以得到数学模型如下
      max ⁡ { f = 4 x A D + 2 x A E + 8 x A F + 7 x A G + 7 x B D + 6 x B E + 4 x B F + 9 x B G + 6 x C D + 3 x C E + 7 x C F + x C G } s.t. x A D + x A E + x A F + x A G ≤ 20 x B D + x B E + x B F + x B G ≤ 25 x C D + x C E + x C F + x C G ≤ 15 x A D + x B D + x C D ≥ 14 x A E + x B E + x C E ≥ 16 x A F + x B F + x C F ≥ 15 x A G + x B G + x C G ≥ 12 x i j ≥ 0 , ( i = A , B , C ; j = D , E , F , G ) \begin{array}{ll} \max & \left\{f=4x_{AD} + 2x_{AE} + 8x_{AF} + 7x_{AG} + 7x_{BD} + 6x_{BE} + 4x_{BF} + 9x_{BG} + 6x_{CD} + 3x_{CE} + 7x_{CF} + x_{CG}\right\} \\ \text{s.t.} & x_{AD} + x_{AE} + x_{AF} + x_{AG} \le 20 \\ & x_{BD} + x_{BE} + x_{BF} + x_{BG} \le 25 \\ & x_{CD} + x_{CE} + x_{CF} + x_{CG} \le 15 \\ & x_{AD} + x_{BD} + x_{CD} \ge 14 \\ & x_{AE} + x_{BE} + x_{CE} \ge 16 \\ & x_{AF} + x_{BF} + x_{CF} \ge 15 \\ & x_{AG} + x_{BG} + x_{CG} \ge 12 \\ & x_{ij} \ge 0,(i=A,B,C;j=D,E,F,G) \end{array} maxs.t.{f=4xAD+2xAE+8xAF+7xAG+7xBD+6xBE+4xBF+9xBG+6xCD+3xCE+7xCF+xCG}xAD+xAE+xAF+xAG20xBD+xBE+xBF+xBG25xCD+xCE+xCF+xCG15xAD+xBD+xCD14xAE+xBE+xCE16xAF+xBF+xCF15xAG+xBG+xCG12xij0,(i=A,B,C;j=D,E,F,G)

例子二——人力资源分配利用问题

  • 题目:
    • 某大型商场A,一周内每日有不同数量的顾客光临,需要销售员服务。同一销售员每周会连续工作5天,休息2天,销售员间需要排班。因为每天顾客数量不同,需要的销售员数量也不同(每日销售员需求量统计如下表),如果每天销售员数量一致,就会浪费人力成本。我们应当如何在满足商场的服务需求下,更少的配备销售员呢?
时间星期一星期二星期三星期四星期五星期六星期日
所需销售员数量12192518282728
  • 解:
    • 这个问题很难像前面的问题一样一眼看出来如何去构建模型
    • 首先,我们要明确目的:
      • 销售人员数量要满足商场每日的服务需求(这个是约束)
      • 让销售人员数量最少,降低成本(这个是目标)
    • 同时,我们还有个约束:同一销售员每周会连续工作5天,休息2天。我们需要对销售员进行排班。
    • 这个时候我们很难去定义决策变量,因为一个销售员不只工作一天,他们需要排班。我们先顺着题意思考一下,随便排班试试
      • 倘若销售员A在星期一开始上班,那么他会上星期一至星期五,休周六、周日
      • 倘若销售员B在星期二开始上班,那么他会上星期二至星期六,休周日、星期一
      • ……
    • 总结一下,也就是说,在同一天开始上班的人,会在同一天开始休息,那么我们可以
      • 把在星期一开始上班的人抽象为一个群体,设为 x 1 x_1 x1
      • 把在星期二开始上班的人抽象为一个群体,设为 x 2 x_2 x2
      • ……
      • 把在星期日开始上班的人抽象为一个群体,设为 x 7 x_7 x7
    • 显然 x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 x_1,x_2,x_3,x_4,x_5,x_6,x_7 x1,x2,x3,x4,x5,x6,x7构成了所有的销售人员,也就是说销售人员总数
      f = x 1 + x 2 + x 3 + x 4 + x 5 + x 6 + x 7 f=x_1 + x_2 + x_3 + x_4 + x_5 + x_6 + x_7 f=x1+x2+x3+x4+x5+x6+x7
    • 我们的目标就是使 f f f最小化
    • 下面来看约束条件。因为同一销售员每周会连续工作5天,休息2天,那么我们可以知道
      • 周一的人数为 x 1 + x 4 + x 5 + x 6 + x 7 x_1 + x_4 + x_5 + x_6 + x_7 x1+x4+x5+x6+x7,商场需要至少12人
      • 周二的人数为 x 1 + x 2 + x 5 + x 6 + x 7 x_1 + x_2 + x_5 + x_6 + x_7 x1+x2+x5+x6+x7,商场需要至少19人
      • ……
    • 根据上面的目标函数、约束条件,我们可以得到数学模型如下:

max ⁡ { f = x 1 + x 2 + x 3 + x 4 + x 5 + x 6 + x 7 } s.t. x 1 + x 4 + x 5 + x 6 + x 7 ≥ 12 x 1 + x 2 + x 5 + x 6 + x 7 ≥ 19 x 1 + x 2 + x 3 + x 6 + x 7 ≥ 25 x 1 + x 2 + x 3 + x 4 + x 7 ≥ 18 x 1 + x 2 + x 3 + x 4 + x 5 ≥ 28 x 2 + x 3 + x 4 + x 5 + x 6 ≥ 27 x 3 + x 4 + x 5 + x 6 + x 7 ≥ 28 x j ≥ 0 , ( j = 1 , 2 , . . . , 7 ) \begin{array}{ll} \max & \left\{f=x_1 + x_2 + x_3 + x_4 + x_5 + x_6 + x_7\right\} \\ \text{s.t.} & x_1 + x_4 + x_5 + x_6 + x_7 \ge 12 \\ & x_1 + x_2 + x_5 + x_6 + x_7 \ge 19 \\ & x_1 + x_2 + x_3 + x_6 + x_7 \ge 25 \\ & x_1 + x_2 + x_3 + x_4 + x_7 \ge 18 \\ & x_1 + x_2 + x_3 + x_4 + x_5 \ge 28 \\ & x_2 + x_3 + x_4 + x_5 + x_6 \ge 27 \\ & x_3 + x_4 + x_5 + x_6 + x_7\ge 28 \\ & x_j \ge 0,(j=1,2,...,7) \end{array} maxs.t.{f=x1+x2+x3+x4+x5+x6+x7}x1+x4+x5+x6+x712x1+x2+x5+x6+x719x1+x2+x3+x6+x725x1+x2+x3+x4+x718x1+x2+x3+x4+x528x2+x3+x4+x5+x627x3+x4+x5+x6+x728xj0,(j=1,2,...,7)

例子三(待编辑)

例子四(待编辑)

例子五(待编辑)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值