0

我正在尝试解决多项选择多维背包问题的一些(相对简单的)实例(其中有一组项目,其中每组只能获得一个项目,并且项目的重量是多维的以及背包容量)。关于配方和解决方案,我有两个问题:

  1. 如果两个组的项目数不同,是否可以在项目数较少的组中填入利润为零且权重=容量的项目,以矩阵形式表达问题?这会影响解决方案吗?具体来说,假设我有优化程序,其中第一组(项目集)可能有三个候选项目,第二组有两个项目(不同于三个),即它们具有以下形式:

最大化(超过 x_ij){v_11 x_11 + v_12 x_12 + v_13 x_13 +

                 v_21 x_21 + v_22 x_22}

服从 {w^i_11 x_11 + w^i_12 x_12 + w^i_13 x_13 + w^i_21 x_21 + w^i_22 x_22 <= W^i, i=1,2

        x_11 + x_12 + x_13 = 1, x_21 + x_22 = 1, x_ij \in {0,1} for all i and j.

在这种情况下是否可以添加一个值 v_23 = 0 和 w^1_23 = W^1,​​ w^2_23 = W^2 的人工项目 x_23 以获得完整的产品 v_ij x_ij (i=1,2 j=1,2 ,3)?

  1. 鉴于(1)是可能的,有没有人尝试使用一些开源优化包(如 cvx)来解决实例?我知道 cplex,但对于非学术人员来说很难获得,而且我不确定 GLPK 是否支持变量组。
4

0 回答 0