Jac*_*ack 2 algorithm optimization logistics
例如,我有 1000 个客户位于欧洲,不同纬度和经度。我想找到可以为所有客户提供服务的最少设施数量,受限于必须在 24 小时交付内为每个客户提供服务(这里我使用从设施到客户的最大允许运输距离作为确保 24 小时交付的约束)服务(距离是两个位置之间的直线,根据欧几里德距离/直线计算)。
因此,对于每个只能为特定距离(例如 600 公里)内的客户提供服务的仓库,有什么算法可以帮助我找到为所有客户提供服务所需的最少设施数量,以及它们各自的纬度和经度。下面的附图显示了一个示例。
查找最小仓库及其位置的示例
这属于设施位置问题的范畴。关于这些问题有相当丰富的文献。在对中心问题是接近你想要什么。
一些注意事项:
通过 1000 个随机客户位置,我可以找到一个经过验证的最佳解决方案:
---- 57 VARIABLE n.L = 4.000 number of open facilties
---- 57 VARIABLE isopen.L use facility
facility1 1.000, facility2 1.000, facility3 1.000, facility4 1.000
---- 60 PARAMETER locations
x y
facility1 26.707 31.796
facility2 68.739 68.980
facility3 28.044 67.880
facility4 76.921 34.929
Run Code Online (Sandbox Code Playgroud)
请参阅此处了解更多详情。
基本上我们解决两个模型:
解决模型 1 后,我们看到(对于 50 个客户的随机问题):
我们需要三个仓库。尽管没有链接超过最大距离约束,但这不是最佳放置。求解模型 2 后,我们看到:
现在通过最小化链接长度的总和来最佳地放置三个仓库。准确地说,我最小化了平方长度的总和。摆脱平方根让我可以使用二次求解器。
两种模型都属于凸混合整数二次约束问题类型 (MIQCP)。我使用了一个现成的求解器来求解这些模型。
| 归档时间: |
|
| 查看次数: |
3105 次 |
| 最近记录: |