有关系时的优化:连同其他约束
Optimisation when there are ties: Along with other constraints
我已经成功地使用 R 中的 glpk 插件构建了一个优化模型(最小化),当我的成本矩阵中没有联系时它工作正常。但是,在我的真实数据集中,我在我的成本矩阵中有联系,我想在这种情况下应用 condition/constraint。因此,我想应用的约束是,如果成本矩阵中存在联系,则选择该产品质量高的供应商。如果有人能指出我如何处理这种情况,我将不胜感激。这是我目前编写的代码的 link
所以,如果 cost/score 相同,则使用最大分数矩阵,谁拥有最大分数,谁就中奖。
一种方法如下:
- 以最小成本解决问题 objective。假设这有成本 CBEST
- 给问题加一个约束:总成本=CBEST
- 以最高质量解决问题 objective。
在实现这个时,我通常将两个 objective 都添加到模型中(作为约束)。所以第一个模型变成:
min cost
cost = cost equation
quality = quality equation
other constraints
求解此模型并将 objective 记录为 CBEST。现在将可变成本固定为 CBEST(例如,通过将成本上限设置为 CBEST)。现在解决:
max quality
cost = cost equation
quality = quality equation
other constraints
cost <= CBEST
请注意,我们只更改了两件事:(1) objective 和 (2) 成本限制。
第二种模式的解决方案给了你想要的。
我已经成功地使用 R 中的 glpk 插件构建了一个优化模型(最小化),当我的成本矩阵中没有联系时它工作正常。但是,在我的真实数据集中,我在我的成本矩阵中有联系,我想在这种情况下应用 condition/constraint。因此,我想应用的约束是,如果成本矩阵中存在联系,则选择该产品质量高的供应商。如果有人能指出我如何处理这种情况,我将不胜感激。这是我目前编写的代码的 link
所以,如果 cost/score 相同,则使用最大分数矩阵,谁拥有最大分数,谁就中奖。
一种方法如下:
- 以最小成本解决问题 objective。假设这有成本 CBEST
- 给问题加一个约束:总成本=CBEST
- 以最高质量解决问题 objective。
在实现这个时,我通常将两个 objective 都添加到模型中(作为约束)。所以第一个模型变成:
min cost
cost = cost equation
quality = quality equation
other constraints
求解此模型并将 objective 记录为 CBEST。现在将可变成本固定为 CBEST(例如,通过将成本上限设置为 CBEST)。现在解决:
max quality
cost = cost equation
quality = quality equation
other constraints
cost <= CBEST
请注意,我们只更改了两件事:(1) objective 和 (2) 成本限制。
第二种模式的解决方案给了你想要的。