资源分配优化 - 多背包的变异

时间:2016-06-20 13:26:30

标签: python optimization scipy knapsack-problem deap

我有 J 个项目,在 T 周内运行,每个项目使用 S 一周的资源 t (基于预定义的矩阵)。我必须将这些项目分配给 I 集群,其中集群容量 C_i 已知。此外,每个项目属于某个子组 G

这似乎是0-1多背包问题,对吧?但是,存在一些差异。所有项目都必须分配到1个集群,一旦分配,就无法从中移动。这通常会导致背包(簇)过度包装,违反“背包不能超过容量”的限制,只会产生不可行的解决方案。因此,它对目标产生了影响。

我的目标是按优先顺序排列:

1)最大限度地减少超出群集容量的资源请求的总发生次数。用外行人的话来说,最大限度地减少集群容量受到侵犯的次数。

Objective 1

2)资源请求最大限度地分布在集群中。

Objective 2

3)同一组中的项目最大限度地分布在群集中。

Objective 3

现在,我的问题:

我是否正确地认为这是0-1多背包问题?我是否也认为它是线性的?到目前为止,我在文献中找不到任何类似的案例研究。

我已经实现了一些初学者级代码,为项目到群集分配生成随机解决方案,并创建了Pareto-optimal front。下一步是实现简单的多目标优化算法。我不确定如何开始,因为我在文献中没有遇到任何与此相近的内容。我是Python的初学者,所以即使阅读PyGMO,DEAP甚至SciPy的图书馆文档,对我来说也太复杂了。有什么建议吗?

0 个答案:

没有答案