减少优化中替代解决方案的大小
我们有一个供应商/仓库(索引 d)和几个工厂(索引 f),在 T < 期间对不同产品 (p) 的需求已知。未来一个月(指数 t)。有一个卡车车队(索引 v),具有不同的卡车类型(索引 k)(例如,其中一些有冰箱),这限制了仅将某些产品运送到该卡车类型。我们在仓库和工厂之间有一组预定义的路线(索引r)(工厂本身之间存在路线)。
卡车从供应商那里装载货物,并按照预先定义的路线,可以访问多个工厂,最后返回仓库进行下一次装载。一个月内,每辆卡车可能多次将货物从仓库运送到工厂 j 。因此变量 x_{p,k,r,f,n,t} 是类型 v(类型 k)的卡车可以从仓库装载并通过路线 r 运至工厂 f 的产品 p 的数量在时间 t。某种类型的车辆受V_k限制。
计数器 n 是一种卡车类型在一个月内将相同产品、路线运送到同一工厂的次数。目标是最小化总成本。 最简单的情况是车辆走depot -> depot -> 路径。工厂 1 ->仓库->一个月内 1 家工厂。在本例中,我们有两个索引 x_{p,k,r,f,1,t} 和 x_{p,k,r,f,2,t}来区分这两轮。 问题是,这个模型产生了许多替代解决方案。例如,如果我们有 4 辆类型为 k 的卡车,则一种解决方案是(我们称之为解决方案 1):
x_{p,k,r,f,1,t} = 6
x_ {p,k,r,f,2,t} = 4。
另一个解决方案(解决方案 2)是:
x_{p,k,r,f,1,t} = 4 >
x_{p,k,r,f,2,t} = 6.
Whish 与解 1 基本相同(只是顺序改变)。
随着问题规模的扩大,许多不同的解决方案具有相同的总成本。我们想考虑一种方法来减少解决方案空间(替代解决方案),同时保留所有可能的目标值。
We have a supplier/depot (index d) and several factories (index f) with demand known for different products (p) during T month (index t) ahead. There is a fleet of trucks (index v) with different truck types (index k) (e.g., some of them have fridge) which restricts carrying some products just to that truck type. We have a set of pre-defined routes (index r) between depot and factories (there exists routes between factories themselves).
A truck loads goods from the supplier and uses the pre-defined routes in which multiple factories can be visited, and finally gets back to the depot for the next load. In a month each truck may carry goods from the depot to factory j more than once. So variable x_{p,k,r,f,n,t} is the amount of product p that truck type v (of type k) can load from depot and through rout r take to factory f at time t. The vehicles of a type are limited by V_k.
The counter n is the number of rounds in a month that a truck type takes the same product, route, to the same factory. The goal is to minimize the total cost.
The simplest case is where a vehicle takes the path depot -> factory 1 -> depot -> factory 1 in a month. In this case we have two index x_{p,k,r,f,1,t} and x_{p,k,r,f,2,t} to differentiate these two rounds.
Here is the problem, this model generates many alternate solutions. For example if we have 4 trucks of type k, then one solution is (we call it solution 1):
x_{p,k,r,f,1,t} = 6
x_{p,k,r,f,2,t} = 4.
Another solution (solution 2) is:
x_{p,k,r,f,1,t} = 4
x_{p,k,r,f,2,t} = 6.
Whish is basically the same as solution 1 (just the order changes).
As the problem size enlarges, many different solutions have the same total costs. We would like to think of a method to decreasing the solution space (alternate solutions), while keeping all possible objective values.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
查看 CPLEX 解决方案池以及如何设置其过滤器。
Check out Cplex solution pool and how to set its filters.
这是可用于过滤 cplex 解决方案池的参数:
填充限制(生成的解决方案数量)
检查以下链接:
https://www.ibm.com/docs/en/icos/20.1.0?topic=pool-which-parameters-control-solution
This is the parameter that you can use to filter cplex solution pool:
Limit on populate (number of solutions generated)
Check the link below:
https://www.ibm.com/docs/en/icos/20.1.0?topic=pool-which-parameters-control-solution
您应该添加额外的约束来消除对称性。
例如,
将摆脱一些重复的解决方案
在较小的示例中,例如 zoo 示例,
在 OPL CPLEX 中
可能会导致许多重复的解决方案。
额外的约束
将消除一些
You should add additional constraints to get rid of symmetries.
For instance
will get rid of some duplicate solutions
In a smaller example like the zoo example,
in OPL CPLEX
may lead to many duplicate solutions.
The additional constraint
willget rid of some