我目前正在处理一个问题: 我有几个周期要分配的位置。对于每个位置,都有一个磁通,并且这些磁通随着周期累积。
例如,在这种情况下:
Location: 1 2 3 4 5 6
Flux: 4 1 8 1 5 7
如果一个物体进入位置3,5,然后到达1,则最终将具有8 + 5 + 4 = 17的累积通量。当物体处于给定周期的位置时,另一个物体不能处于在同一个地方。
现在我有28个对象,196个位置(每个位置都有一个通量值)和7个循环。 我的第一个目标是使物体之间的总累积通量之差最小。我是通过禁忌搜索来做到这一点的,它为我提供了累积通量的结果(线对应于不同的对象,列对应于不同的循环):
0.5816 1.4293 25.4065 76.8503 77.4187 136.6698 200.3161
0.8307 64.6363 67.2245 125.7241 136.9424 197.4404 199.9021
0.6058 53.1175 118.5429 142.7146 143.6404 146.7749 199.8301
0.7702 1.6455 55.5451 85.6992 139.4876 195.9645 199.7902
0.8771 66.7841 67.7526 93.6602 137.3848 195.1756 199.7000
0.6868 50.5214 104.0117 131.3844 134.1012 141.7810 199.9149
0.6041 8.6149 68.1412 76.6420 130.5282 138.2783 198.8705
0.7816 1.6084 45.3783 74.9618 133.4950 141.0442 200.3820
3.0922 5.6652 10.1231 62.4969 115.4155 146.9356 199.9432
3.8996 65.5592 66.3063 118.3036 182.1707 192.9948 200.4383
3.8875 56.3984 68.1369 121.5241 129.5970 192.4334 200.4369
8.3907 16.2188 73.8488 126.7931 134.2722 191.8316 200.1157
11.3619 12.2858 68.1432 122.1711 133.5624 187.2255 198.8294
53.8037 54.6764 55.5288 109.3596 111.3048 141.2284 200.1923
52.0620 52.6561 96.3642 147.7550 148.5716 199.8243 200.5068
29.2521 57.0771 58.9211 62.0156 92.3465 145.9352 199.5902
26.6577 68.4486 99.4957 107.7340 135.5826 146.5506 199.9271
31.9282 32.8237 65.8313 115.9958 143.2445 170.1270 199.7448
60.9665 61.6391 62.3172 114.4951 115.4132 166.9041 200.5435
65.7344 69.6626 70.4986 82.5036 142.3685 171.6213 200.1920
41.6865 81.5338 135.0199 143.3494 145.3374 169.0886 199.9640
51.7154 104.5191 105.3969 133.2749 189.6045 197.3475 199.8932
49.2345 56.8147 102.7353 136.5101 139.2118 196.5379 200.2588
41.8892 86.1495 87.0312 95.0476 141.0435 144.9995 199.8407
51.2268 97.3526 144.7970 146.7862 194.2443 197.0977 199.7094
41.9218 80.9393 120.8801 147.8040 195.7625 198.2516 200.1334
47.4438 88.6672 134.6058 146.0954 191.7577 196.2414 200.0423
42.9657 90.2496 141.7318 148.9092 152.8436 159.4467 200.2776
现在的问题是,我想添加一个次要目标,即在给定周期内对象之间的最大差异有限,当然,第一个周期除外,因为它不受限制。例如,在循环4中,我的最大差值为148.9092-62.0156 = 86.8936,我仍然希望获得非常接近的总累积通量值(右列),而不必一定是最佳值,并且可以将其最小化第二优先级是每个周期的最大差异。
我为成本函数考虑了线性编程中“ Big M”方法的模拟方法,但似乎并没有得到令人满意的结果。
对于这个问题,是否存在一种已知的方法,具有两个目标,一个比另一个重要?
谢谢!