数理最适化笔记2

  • 2.1容量制约的设置配置问题

设施配置问题其实就是在一个空间内选择最合适点的问题。容量制约的设置配置问题是很多实际问题的基础模型。举个例子,比如上篇提到的工厂配送问题,5个顾客,3个仓库运输,设施的候补地点和年间产生的租房费用,仓库容量,顾客的配送费用,如表1所示。那么我们应该如何选择配送路径呢,年费的总花费怎么样最小。

|---------|----|-----|-----|-----|-----|--------|------|
| 顾客i | 1 | 2 | 3 | 4 | 5 | | |
| 年间需要量di | 80 | 270 | 250 | 160 | 180 | | |
| 设施j | 运输费用cij ||||| 开设费用fj | 容量Mj |
| 1 | 4 | 5 | 6 | 8 | 10 | 1000 | 500 |
| 2 | 6 | 4 | 3 | 5 | 8 | 1000 | 500 |
| 3 | 9 | 7 | 4 | 3 | 4 | 1000 | 500 |

有了上面的调查,我们可以开始进行模型建立。

顾客数量n,设施数量m,顾客i=1,2,。。。,n。设施j=1,2,。。。,m用编号表示。顾客的集合I={1,2,...,n},设施的集合J={1,2,...,m}。顾客i的需求量为di,顾客i和设施j之间,每1单位配送费用为cij,设施j的租房费用为fj,容量为Mj。

连续变数xij和0-1变量yj

xij = 顾客i的需求由设施j满足的量

yj = 1 设施j开设,0以外

目的函数 minimize Zj属于J fjyj + Zi属于I Zj属于J cijxij

s.t. Zj属于J xij = di Ai属于I

Zi属于I xij <= Mjyj Aj 属于J

xij<=diyj Ai属于I;J属于J

xij >=0 Ai属于I;j属于J

yj属于0,1 Aj属于J

目的函数表示 设施的开设费用和运送费用的和 最小化。制约1表示每个顾客的需要必须被满足,制约2表示设施的容量制约。制约3表示不从开设的设施出来是不能进行配送的,这个叫做强弱定式化。

为了解决上面模型,我们接下来进行编程。(1)输入参数和数据。(2)制作返回函数。(3)定义制约公式。(4)设置目的函数。

  • 2.2强定式化和弱定式化

Zi属于I xij <= Mjyj Aj 属于J

有制约条件1和制约条件2已经足够了,但是为什么要加3呢? 因为如果Mj非常大,会发生解不出来的问题,所以加了第3个制约条件。所以意思是3比2强,还有比3更强的。

Zj属于J xij <=(Zi属于I di)yj

它就比3还要强,因为范围更加窄。

  • k-median问题

也是设施配置问题,属于一个变种,求顾客到最近设施的(合计)总最小距离,来选择设施。

顾客i到设施j的距离为cij,可以定义以下变数

xij = 1 顾客i的需求被j满足时, 0是以外

yj = 1 设施j开设时 , 0是以外

顾客数量为n,顾客的集合为I,设施的配置点为J,通常的K问题,设施的候补地点在顾客上面假设,I = J = {1,2,...,n}.

整理成数学公式为

目的函数 minimize Zi属于I Zj属于J cij xij

s.t. Zj属于J xij = 1 Ai属于I

Zj属于J yj = k

xij <=yj Ai属于I;j属于J

xij属于0,1 Ai属于I;j属于J

yj属于0,1 Aj属于J

制约条件1表示顾客被分配给某一个设施,制约2表示限制规定开设的设施数量为K个。制约3表示顾客只能从被开设的设施接受服务,这个公式由nm公式构成。m可以转换为以下公式。

Zi属于I xij <=nyi Aj属于J

  • k-center问题

求顾客到设施点的最小距离。

顾客i到设施j到距离定义为cij,定义以下变数

xij = 1,0 顾客i的需求由设施j满足,以外

yj = 1,0 设施j开设 ,以外

另外z为最远距离的设施配送移动距离最小化。然后进行数学模型定义

目的函数 minimize z

s.t. Zj属于j xij = 1 ,Ai属于I

Zj属于J yj = k

xij<=yj Ai属于I;j属于J

Zj属于J cijxij <= z Ai属于I

xij 属于0,1 Ai属于I;j属于J

yj属于0,1 Aj属于J

目的函数表示最远设施配送顾客的最小移动距离,叫做最大值的最小化。制约条件1表示顾客由设施中的某一个进行配送,制约2表示开设的设施有K个。制约3表示必须由开设的工厂进行配送。

相关推荐
夕除2 小时前
Redis 过期策略
redis·笔记·面试
Nuanyt4 小时前
Agent 学习笔记(下篇三):上线工程、进阶选择与操作界面(Stage 7 / 7.5 / 8 + 延伸路线)
笔记·python·学习·memory·aiagent·harness
叼烟扛炮5 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
叼烟扛炮5 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
songyuc6 小时前
【Manskill3】TableSceneBuilder学习笔记
pytorch·笔记·学习
゛凌乱的记忆づ8 小时前
好用的md文件编辑器——TyporaS与Typora
笔记·git·typora·markdown
zroooo8 小时前
计算机学习-知识庞大而繁杂
笔记·学习
坤坤子吖9 小时前
算法学习——单调队列
开发语言·c++·笔记·学习·算法
Zhao-Jichao10 小时前
AI Prompting for Everyone 课程笔记 - 05 使用深度搜索 Using Deep Research
人工智能·笔记
云析赢指标公式网411 小时前
指标开发笔记|主图搭配双副图成套指标逻辑拆解
人工智能·笔记