IBM CPLEX - 仓库位置 CP
IBM CPLEX - Warehouse location CP
我正在尝试 运行 来自 IBM 的 scalablewarehouse 示例,使用 CP 算法,但是当我将 using CP;
添加到 mod 文件时,我在此行出现错误:
dvar float Supply[Stores][Warehouses] in 0..1;
错误:
Decision variables of type dvar float not supported by this algorithm.
我该如何解决这个问题?
我认为您不能简单地解决它。我认为 CP 优化器不支持浮点变量。您可以尝试缩放那些应该是连续的数字并将它们处理为例如使用范围为 0 到 100 的整数变量的百分比。
在Easy optimization see CPO with decimal decision variables
using CP;
{int} Warehouses = {1,2,3,4};
int NbStores = 5;
range Stores = 0..NbStores-1;
int scale=100;
dvar int scaleSupply[Stores][Warehouses] in 0..scale;
dexpr float supply[s in Stores][w in Warehouses] = scaleSupply[s][w]/scale;
subject to
{
supply[1][1]==0.5;
}
我正在尝试 运行 来自 IBM 的 scalablewarehouse 示例,使用 CP 算法,但是当我将 using CP;
添加到 mod 文件时,我在此行出现错误:
dvar float Supply[Stores][Warehouses] in 0..1;
错误:
Decision variables of type dvar float not supported by this algorithm.
我该如何解决这个问题?
我认为您不能简单地解决它。我认为 CP 优化器不支持浮点变量。您可以尝试缩放那些应该是连续的数字并将它们处理为例如使用范围为 0 到 100 的整数变量的百分比。
在Easy optimization see CPO with decimal decision variables
using CP;
{int} Warehouses = {1,2,3,4};
int NbStores = 5;
range Stores = 0..NbStores-1;
int scale=100;
dvar int scaleSupply[Stores][Warehouses] in 0..scale;
dexpr float supply[s in Stores][w in Warehouses] = scaleSupply[s][w]/scale;
subject to
{
supply[1][1]==0.5;
}