我想在Optaplanner中添加投资组合优化中的下限约束 锻炼。
在Optaplanner的投资组合优化中,我们可以通过控制行业约束来控制比率限制,并且只能控制作为数量最大值给出的上限值。
我已尝试'将下限添加为数量最小值,并按数量最小值更改Hardscore,与数量最大值相同。但是,我没有应用它。
无论如何,有没有更好的方法在Optaplanner的投资组合优化中添加下限约束?
Plz帮助我!
答案 0 :(得分:0)
如果是例如每个地区,只需在quantityMillisMinimum
上添加Region
字段:
public class Region extends AbstractPersistable {
private String name;
private Long quantityMillisMaximum; // In milli's (so multiplied by 1000)
// New field
private Long quantityMillisMinimum; // In milli's (so multiplied by 1000)
}
和添加硬约束的分数规则:
// New rule
rule "Region quantity minimum"
when
$region : Region($quantityMillisMinimum : quantityMillisMinimum)
accumulate(
AssetClassAllocation(region == $region, quantityMillis != null, $quantityMillis : quantityMillis);
$quantityMillisTotal : sum($quantityMillis);
$quantityMillisTotal < $quantityMillisMinimum
)
then
scoreHolder.addHardConstraintMatch(kcontext,
$quantityMillisTotal - $quantityMillisMinimum);
end
您是否正在使用投资组合优化来解决任何问题? :)