【选址问题】二进制灰狼算法解决无容量选址问题【Matlab】

本文介绍了使用二进制灰狼算法解决无容量设施选址问题,详细阐述了问题描述、数学模型,并对算法进行了改进。在Matlab中实现该算法,通过源代码展示并提供了运行结果,证明算法的有效性。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

一、无容量设施选址问题

1、问题描述

本文研究的无容量限制设施选址问题是运筹学领域的一个著名问题。该问题只有二元决策变量,适合于验证二元优化算法的性能分析和比较。在这个问题中,有客户、供应商和转运成本,每个客户都应该接受供应商的订单。该问题有两个成本,即设施建设成本和转运成本,其目标是通过设置决策变量0或1来最小化总成本,这些变量的值决定了设施的开启或关闭。可行解的个数由可能的设施位置的个数来计算。当n为可能的设施位置数时,得到问题的2n个不同的可能解。由于UFLP是NP-hard问题,大量的近似、进化或群体智能算法被提出来解决这个问题

2、数学模型

在这里插入图片描述
其中,I 表示客户集;i 表示第几个客户,∀i ∈ I;n 表示客户总数;J 表示设施集;j 表示第几个设施,∀j ∈ J ; m 表示设施总数;xij = 1 表示设施位置 j 为客户 i 提供服务,否则 xij = 0 ;yj = 1 表示在 j 处建设服务设施,否 则 yj = 0 。
在上述模型中,式(1)为目标函数表示最小化运输成本与设施建造费之和;约束(2)表示每个客户必须被服务且只能被服务一次;约束(3)表示只有开放的设施才能为客户服务;约束(4)和(5)表示变量的取值范围。

二、二进制灰狼算法

1、引言

灰狼算法在连续灰太狼优化(CGWO)中,狼不断地改变它们在空间中的位置。在一些特殊的问题,如0-1背包问题的解决方案被限制在二进制{0,1}值,这激发了一个特殊版本的GWO。
在bGWO中,任何给定的解都是二进制形式的,所有的解都位于超立方体的角上。根据CGWO原理更新给定狼的位置。

2、算法改进

在二进制灰狼算法中,引入了传递函数(sigmod函数)。利用传递函数将朝向前三个最佳解的各个步骤进行二值化,然后在三个基本移动之间执行随机交叉以找到更新的二值灰太狼位置。[1]

3、数学模型

1)x1、x2、x3的结算
x1为α在二进制中的位置矢量,bstepα为二进制步长,可利用公式2计算
cstepα为α的连续值步长,可用公式3计算。
其中,公式3中的A1、Dα为连续灰狼算法中的A1、Dα。
ps:x2、x3的计算方式与x1相同。
公式一:
在这里插入图片描述
公式二:
在这里插入图片描述
公式三:
在这里插入图片描述

4、算法流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值