解决多选多维背包问题

时间:2015-07-23 22:26:48

标签: optimization knapsack-problem cvx

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

  1. 如果两个组的项目数不同,是否可以填写项目数量较少的项目,其中项目的利润和权重为零,能够以矩阵形式表示问题?这会影响解决方案吗?具体来说,假设我有优化程序,其中第一组(项目集)可能有三个候选项目,第二组有两个项目(不同于三个),即这些项目具有以下形式:
  2. 最大化(超过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是否支持变量组。

0 个答案:

没有答案