在分层问题上实施计划优化算法

问题描述 投票:0回答:1

我正在处理一个涉及以下问题的计划问题:

  1. 每个包含计划变量A的计划实体的集合>
  2. 全局计划变量B(包含在计划解决方案中)
  3. 由于我是Optaplanner的初学者,并且总体上是计划优化,所以我开始讨论一个较简单的版本问题,重点是将A建模为计划事实,并以B来优化A。

现在,我有一个程序成功地优化了给定的B。我想实现一个同时优化A和B的新求解器。事实证明,最佳的优化搜索策略是首先选择一个B值,然后在给定B的情况下优化A B值。应该重复此过程,直到找到最佳值(眼前的问题是分层的)]

我正在寻找有关如何使用Optaplanner实施此操作的建议。我最初以为我可以将其实现为两个阶段(优化B->优化A),但是现在我知道Optaplanner阶段并不意味着要这样做。例如,求解器无法在两个阶段的此有序序列上循环。

相反,我认为我应该实现一个自定义MoveSelector,它以B上的移动开始,然后是A上的无限列表。。>

您怎么看?我在正确的轨道上吗?

亲切的问候,

UPDATE

虽然我的用例与财务无关,但与optaplanner投资示例非常相似

A计划变量表示单元之间某些资源的分配。有一定数量的静态资源要分配,因此我实现了自定义动作以确保分配动作保持zero-sum game

关键区别在于,A不是代表分配比率,而是绝对值。后者在计算解决方案得分时具有意义。

因此,要分配的资源预算的绝对值是一个相关的计划事实。我的规划解决方案的B阶段全都在探讨总资源预算的变化是否可以带来更有利的解决方案。

我不愿意在同时优化A的同时更改B,因为我感到涉及不同动态(A,B)组合的移动选择无法简单地进行比较。搜索空间的大小也可能爆炸...

我正在处理一个计划问题,涉及:一组计划实体的集合,每个实体包含计划变量A和全局计划变量B(包含在计划解决方案中,因为我是a ...

optaplanner
1个回答
0
投票
A和B是不同的

阶段

,而不是不同的阶段
© www.soinside.com 2019 - 2024. All rights reserved.