1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| import numpy as np from pulp import *
x = list(map(lambda i: LpVariable(f'x{i+1}', 0, None, LpInteger), range(10)))
problem = LpProblem('lp', LpMinimize)
A_ub = [[0,0,0,0,0,1,2,-1,1,0]] b_ub = [-2] for i in range(0, len(A_ub)): tmp = A_ub[i][0]*x[0] for j in range(1, len(A_ub[i])): tmp = tmp + A_ub[i][j]*x[j] problem += tmp <= b_ub[i]
A_eq = [ [2,1,1,-1,-2,0,0,0,0,0], [2,-1,-2,-1,1,2,1,1,-1,-1], [1,1,1,1,1,1,1,1,1,1], ] b_eq = [-1,1,4] for i in range(0, len(A_eq)): tmp = A_eq[i][0]*x[0] for j in range(1, len(A_eq[i])): tmp = tmp + A_eq[i][j]*x[j] problem += tmp == b_eq[i]
c = [1,1,1,1,1,1,1,1,1,1]
tmp = c[0]*x[0] for j in range(1, len(c)): tmp = tmp + c[j]*x[j] problem += tmp
problem.solve()
problem.writeLP('tmp.lp')
for v in problem.variables(): print(f'{v.name}={v.varValue}')
|