# s_pos += A_p_pos*u_pos + A_d1*l_pos == b_p # s_neg += A_p_neg*u_neg + A_d1*l_neg == b_p for i in range(dim_p): s += u[i] >= 0 # s_pos += u_pos[i] >= 0 # s_neg += u_neg[i] >= 0 # s_pos += A_d*l_pos <= b_d_pos # s_neg += A_d*l_neg >= b_d_neg # s_pos.objective = u_pos[0] # s_neg.objective = u_neg[0] s.optimizationDirection = 'min' s.objectiveCoefficients = y # s_pos.primal() # s_neg.primal() s.primal() # print(s_pos.primalVariableSolution) # print(s_pos.dualVariableSolution) # cond_pos = s_pos.primalVariableSolution['u'] # x1_pos = np.dot(cond_pos, x) # y1_pos = np.dot(cond_pos, y_pos) # cond_neg = s_neg.primalVariableSolution['u'] # x1_neg = np.dot(cond_neg, x)
x0, z0 = 0.5, 0.5 rhs_p = np.array([x0, z0, 1], dtype=np.double) dim_d = len(rhs_p) A_d = np.hstack( [x.reshape(-1, 1), z.reshape(-1, 1), np.ones(len(x)).reshape(-1, 1)]) A_d = np.matrix(A_d) s = CyClpSimplex() l = s.addVariable('l', dim_d) b_d = CyLPArray(y) s += A_d * l >= b_d s.optimizationDirection = 'max' s.objectiveCoefficients = rhs_p s.primal() print(s.primalVariableSolution) print(s.dualVariableSolution) print(s.dualConstraintSolution) print(s.primalConstraintSolution)
from cylp.py.modeling.CyLPModel import CyLPArray import numpy as np x = np.array([-4., 0., 1. , 2., 3., 4.]) y = np.array([ 0., 0., 0.5, 2., 4., 7.]) x0 = 3.5 A = np.hstack([x.reshape(-1,1),np.ones(len(x)).reshape(-1,1)]) A = np.matrix(A) s = CyClpSimplex() dim = 2 l = s.addVariable('l', dim) y = CyLPArray(y) s += A*l <= y s.optimizationDirection = 'max' s.objectiveCoefficients = np.array([x0, 1]) s.primal() print(s.primalVariableSolution) print(s.dualVariableSolution) print(s.dualConstraintSolution) print(s.primalConstraintSolution)