-1

I would like to ask you regarding on the Linear Program for optimization.

I have an objective function, and constraint functions as below,

  • variables(x1, x2, x3, x4, x5, x6) are quantities of the products, and the quantities of products have to be fixed numbers now.
  • the goal of this problem is the optimizing the quantities of products.

    1. Objective Function (c.T * [x1, x2, x3, x4, x5, x6])

      [[c11, c12, c13, c14, c15 c16],
      
      [c21, c22, c23, c24, c25, c26],
                                    X     [x1, x2, x3, x4, x5, x6]  
      [c31, c32, c33, c34, c35, c36],
      
      [c41, c42, c43, c44, c45, c45]]
      

    The result that I would like to optimize is going to be as below

    c11*x1 + c12*x2 + c13*x3 + c14*x4 + c15*x5 + c16*x6 +
    c21*x1 + c22*x2 + c23*x3 + c24*x4 + c25*x5 + c26*x6 + 
    c31*x1 + c32*x2 + c33*x3 + c34*x4 + c35*x5 + c36*x6 + 
    c41*x1 + c42*x2 + c43*x3 + c44*x4 + c45*x5 + c46*x6 = optimized value
    
    1. Constraint Function

    1) constraint_1

    5500000*x1+2500000*x2+825000*x3+5500000*x4+5500000*x5+5500000*x6 <= 800000000

    2) constraint_2

    x1 <= 10
    x2 <= 10
    x3 <= 10
    x4 <= 10
    x5 <= 10
    x6 <= 10
    

The problem that I am suffering from is the in the "Objective Function of Cs(c1,1 ~ c4,5)".

I have solved the Linear Programming that has integers values in the Objective Functions, but not the matrix.

I have tried all other ways that I could, but now I really need helps on this.

Please kindly suggest me any kind of ideas or codes for this question.

Brian Tompsett - 汤莱恩
  • 5,753
  • 72
  • 57
  • 129
Jay Kim
  • 7
  • 1
  • I'm not sure I understand where exactly you see a problem. If I define `Ki` as `c1i+c2i+c3i+c4i`, then your problem becomes maximizing `K1*x1 + K2*x2 + ... + K6*x6` and you claim that you know how to solve that kind of problems. So where is the roadblock for you? – SergGr Dec 06 '18 at 12:01
  • If an objective function is like 3 * x1 + 2 * x2 + 3 * x3 + 4 * x4 + 5 * x5 + 6 * x6, then the code will be as below, – Jay Kim Dec 06 '18 at 12:32
  • `c = np.array([3, 2, 3, 4, 5, 6])` `A = np.array([[5500000, 2500000, 825000, 5500000, 5500000, 5500000], [1,0,0,0,0,0], [0,1,0,0,0,0], [0,0,1,0,0,0], [0,0,0,1,0,0], [0,0,0,0,1,0], [0,0,0,0,0,1]])` `b = np.array([800000000, 10, 10, 10, 10, 10, 10])` `c = matrix(c, tc='d')` `G = matrix(A, tc='d')` `h = matrix(b, tc='d')` `status, x = glpk.ilp(c, g, h, I=set([0,1,2,3,4,5]))` – Jay Kim Dec 06 '18 at 12:40
  • The problem that I am having is I am not sure how to extend the `c` parts. In the code, it is the 1 x 6 matrix, but now I need solve with the 4 x 6 matrix(c11 to c46). – Jay Kim Dec 06 '18 at 12:44

1 Answers1

0

Suppose you have store the original cij in a numpy array, you might like to sum up terms like c11+c21+c31+c41 first. This can be done by summing up each column, try c.sum(axis = 0)

>>> import numpy as np
>>> c = np.arange(24).reshape(4,6)
>>> c
array([[ 0,  1,  2,  3,  4,  5],
       [ 6,  7,  8,  9, 10, 11],
       [12, 13, 14, 15, 16, 17],
       [18, 19, 20, 21, 22, 23]])
>>> c = c.sum(axis=0)
>>> c
array([36, 40, 44, 48, 52, 56])
Siong Thye Goh
  • 3,518
  • 10
  • 23
  • 31