使用Excel2016求解运筹学线性规划

发布于:2023-04-27 ⋅ 阅读:(343) ⋅ 点赞:(0)

线性规划

背景

项目上遇到了一个问题:如何分配项目点值,找到了北理工的运筹学教程进行学习,看到了线性规划问题如下:
问:工厂应分别生产多少单位Ⅰ 、 Ⅱ 产品才能使工厂获利最多?

资源 产品Ⅰ 产品Ⅱ 资源限制
设备 1 1 300台时
原料A 2 1 400kg
原料B 0 1 250kg
单位产品获利(元) 50 100

建立线性规划模型(设工厂分别生产 𝒙𝟏 , 𝒙𝟐 单位Ⅰ 、 Ⅱ 产品)

目标函数:
max z = 50𝒙𝟏+ 100𝒙𝟐

约束条件:
x1 + x2 ≤ 300
2x1 + x2 ≤ 400
x2 ≤ 250
x1, x2≥ 0

运筹学软件求解

运筹学随书附带了一个管理运筹学的软件,可以求解这个问题,如下图
在这里插入图片描述
在这里插入图片描述
分别输入变量个数,约束条件个数,目标函数后,点击求解即可求出最大值。

具体使用方法可见运筹学教程中第一周1.3线性规划问题的计算机求解

在这里插入图片描述

使用Excel求解线性规划问题

显示规划求解菜单

在这里插入图片描述
如果Excel中,没有显示上图所示菜单,可以按照以下步骤打开

  1. 打开文件=》选项
    在这里插入图片描述
  2. 转到Excel加载项
    在这里插入图片描述
  3. 勾上规划求解加载项
    在这里插入图片描述

规划求解

输入题目已知条件

在这里插入图片描述

输入约束条件和目标函数

  • 题目中工厂生产x1和x2件产品,假设F10和G10单元格代表x1和x2
  • F12单元格的公式代表目标函数
  • F3 F4 F5 单元格的公式分别代表三个约束条件

约束条件F3 F4 F5的公式分别为

=C3*F10+D3*G10 即约束条件中 x1 + x2 ≤ 300
=C4*F10+D4*G10 即约束条件中 2x1 + x2 ≤ 400
=D5*G10 即约束条件中 x2 ≤ 250

目标函数E12的公式为

=C6*F10+D6*G10 即目标函数的 50𝒙𝟏 + 100𝒙𝟐

在这里插入图片描述

求解

  1. 点击规划求解,设置规划求解参数,如下图
    在这里插入图片描述
  2. 设置目标为F12,目标为最大值
  3. "通过更改可变单元格"即设置F10和G10
  4. "遵守约束"即添加三个约束条件 F3 F4 F5
  5. "选择求解方法"为单纯线性规划
    设置完成的规划求解参数如下图
    在这里插入图片描述
    点击求解后,结果如下图
    在这里插入图片描述

网站公告

今日签到

点亮在社区的每一天
去签到