码农知识堂 - 1000bd
Python
PHP
JS/TS
JAVA
C/C++
C#
GO
Kotlin
Swift
线性规划(一)——概念
文章目录
研究的问题
例子——汽车工厂的生产、盈利(图解法)
更多数学模型样例
研究的问题
在一项任务目标确定后,如何以最低的成本(经费、人力、物资等)实现该目标
例如:某汽车工厂今年要完成N辆汽车的生产,汽车生产需要消耗人力、物资材料等。如何尽可能地用最少的人力成本、材料成本完成N辆汽车的生产?
例如:某购物商场每日顾客人数不同,需要的销售人员数量不同。如何在满足顾客需求的情况下,对销售人员排班,以尽可能的降低雇佣的销售人员的数量?
在现有的资源条件下,如何进行组织、安排,以实现最大化的收益
例如:某汽车工厂现有A、B、C原料固定数量,生产不同车型需要的原料不同,收益也不同。如何在已有的原材料的情况下,尽可能多的提高收益?
例如:某设计院现有N位设计师,设计不同等级的图花费的人力成本不同、盈利不同。如何在有限数量的设计师情况下,安排设计工作,以实现更多的盈利?
例子——汽车工厂的生产、盈利(图解法)
描述
某汽车工厂生产A、B两种车型,这两种车生产一辆分别需要不同的甲、乙原材料。
生产一辆A车,需要2.5吨甲材料、2吨乙材料,能盈利12万元。
生产一辆B车,需要1吨甲材料、1.5吨乙材料,能盈利7万元。
甲材料的供给上限为50吨、乙材料的供给上限为60吨。
列出图表如下
—
A车
B车
原料限量(吨)
甲原料(吨)
2.5
1
50
乙原料(吨)
2
1.5
60
盈利(万/辆)
12
7
问题
该汽车工厂应该如何规划A、B汽车的生产数量以达到最大的收益?
分
五个步骤
解决问题
我们的目的是:确定使得利益最大化时,A、B汽车的数据量各是多少。
设生产A车共
x 1 x_1
x
1
辆,生产B车共
x 2 x_2
x
2
辆,则收益目标函数为
f ( x ) = 12 x 1 + 7 x 2 f(x) = 12x_1 + 7x_2
f
(
x
)
=
12
x
1
+
7
x
2
因为甲、乙材料有数量限制,A、B汽车数据应为非负,显然
{ 2.5 x 1 + x 2 ≤ 50 2 x 1 + 1.5 x 2 ≤ 60 x 1 ≥ 0 , x 2 ≥ 0
{
2.5
x
1
+
x
2
≤
50
2
x
1
+
1.5
x
2
≤
60
x
1
≥
0
,
x
2
≥
0
" role="presentation" style="position: relative;">
⎧
⎩
⎨
2.5
x
1
+
x
2
≤
50
2
x
1
+
1.5
x
2
≤
60
x
1
≥
0
,
x
2
≥
0
{
2.5
x
1
+
x
2
≤
50
2
x
1
+
1.5
x
2
≤
60
x
1
≥
0
,
x
2
≥
0
⎩
⎨
⎧
2.5
x
1
+
x
2
≤
50
2
x
1
+
1.5
x
2
≤
60
x
1
≥
0
,
x
2
≥
0
由此,可得到数学模型
max { f = 12 x 1 + 7 x 2 } s.t. 2.5 x 1 + x 2 ≤ 50 2 x 1 + 1.5 x 2 ≤ 60 x j ≥ 0 , j = 1 , 2
max
{
f
=
12
x
1
+
7
x
2
}
s.t.
2.5
x
1
+
x
2
≤
50
2
x
1
+
1.5
x
2
≤
60
x
j
≥
0
,
j
=
1
,
2
" role="presentation" style="position: relative;">
max
s.t.
{
f
=
12
x
1
+
7
x
2
}
2.5
x
1
+
x
2
≤
50
2
x
1
+
1.5
x
2
≤
60
x
j
≥
0
,
j
=
1
,
2
max
{
f
=
12
x
1
+
7
x
2
}
s.t.
2.5
x
1
+
x
2
≤
50
2
x
1
+
1.5
x
2
≤
60
x
j
≥
0
,
j
=
1
,
2
max
s.t.
{
f
=
12
x
1
+
7
x
2
}
2.5
x
1
+
x
2
≤
50
2
x
1
+
1.5
x
2
≤
60
x
j
≥
0
,
j
=
1
,
2
求解
目前问题较为简单,可采用图解法
以
x 1 x_1
x
1
作为横轴、
x 2 x_2
x
2
作为纵轴,作图如下
由约束条件做出的蓝、橙、红、绿线围成的范围,即是我们的有解区域
将
f ( x ) = 12 x 1 + 7 x 2 f(x) = 12x_1 + 7x_2
f
(
x
)
=
12
x
1
+
7
x
2
转换一下,可得
x 2 = − 12 7 x 1 + 1 7 f ( x ) x_2 = \frac{-12}{7}x_1 + \frac{1}{7}f(x)
x
2
=
7
−
12
x
1
+
7
1
f
(
x
)
。当
f ( x ) = 0 f(x) = 0
f
(
x
)
=
0
时,可做出图中的紫色虚线。
显然,根据函数的性质,若要使得
1 7 f ( x ) \frac{1}{7}f(x)
7
1
f
(
x
)
增大,需将该紫色虚线向上平移
由图、计算可知,紫线斜率大于蓝线、小于橙线,当且仅当紫色虚线向上平移至过橙色线与蓝色线交点时,
1 7 f ( x ) \frac{1}{7}f(x)
7
1
f
(
x
)
取得最大值,即
f ( x ) f(x)
f
(
x
)
取得最大值
解
{ 2.5 x 1 + x 2 = 50 2 x 1 + 1.5 x 2 = 60
{
2.5
x
1
+
x
2
=
50
2
x
1
+
1.5
x
2
=
60
" role="presentation" style="position: relative;">
{
2.5
x
1
+
x
2
=
50
2
x
1
+
1.5
x
2
=
60
{
2.5
x
1
+
x
2
=
50
2
x
1
+
1.5
x
2
=
60
{
2.5
x
1
+
x
2
=
50
2
x
1
+
1.5
x
2
=
60
,得
{ x 1 = 60 7 x 2 = 200 7
{
x
1
=
60
7
x
2
=
200
7
" role="presentation" style="position: relative;">
{
x
1
=
60
7
x
2
=
200
7
{
x
1
=
60
7
x
2
=
200
7
{
x
1
=
7
60
x
2
=
7
200
由于汽车辆数是整数,因此,当生产A车8辆、B车28辆时,可获得最大利益
f = 12 x 1 + 7 x 2 = 12 ∗ 8 + 28 ∗ 7 = 292
f
=
12
x
1
+
7
x
2
=
12
∗
8
+
28
∗
7
=
292
" role="presentation" style="position: relative;">
f
=
12
x
1
+
7
x
2
=
12
∗
8
+
28
∗
7
=
292
f
=
12
x
1
+
7
x
2
=
12
∗
8
+
28
∗
7
=
292
f
=
12
x
1
+
7
x
2
=
12
∗
8
+
28
∗
7
=
292
更多数学模型样例
线性规划(二)——数学模型样例
相关阅读:
算法——买卖股票问题
重新认识Word —— 制作简历
CSP-J 2022年8月第一轮模拟赛 1
【NumPy基础(02) NumPy数组的变形】
Java通过Rserve调用R脚本
ROS1可视化利器---Webviz
微前端无界 项目使用记录
CSS 3之美化表格样式(二)
数据结构与算法编程题2
自媒体赚钱必备的5款工具,教你如何快速变现
原文地址:https://blog.csdn.net/alionsss/article/details/126215192
最新文章
攻防演习之三天拿下官网站群
数据安全治理学习——前期安全规划和安全管理体系建设
企业安全 | 企业内一次钓鱼演练准备过程
内网渗透测试 | Kerberos协议及其部分攻击手法
0day的产生 | 不懂代码的"代码审计"
安装scrcpy-client模块av模块异常,环境问题解决方案
leetcode hot100【LeetCode 279. 完全平方数】java实现
OpenWrt下安装Mosquitto
AnatoMask论文汇总
【AI日记】24.11.01 LangChain、openai api和github copilot
热门文章
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
奉劝各位学弟学妹们,该打造你的技术影响力了!
五年了,我在 CSDN 的两个一百万。
Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
面试官都震惊,你这网络基础可以啊!
你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
心情不好的时候,用 Python 画棵樱花树送给自己吧
通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
13 万字 C 语言从入门到精通保姆级教程2021 年版
10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系
2656653265@qq.com
京ICP备2022015340号-1
正则表达式工具
cron表达式工具
密码生成工具
京公网安备 11010502049817号