# 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)
Ejemplo n.º 2
0
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)