Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Problem with various type in linear programming

The following program is well defined

f(x) = 4*x-0.9*x^2
lr=6
pas=1# 0.5,0.25
lsp=lr/pas
X=[n(pas*i,14) for i in range(0,Integer(lr/pas))]
pente=[diff(f(x),x).subs(x=X[i]) for i in range(0,Integer(lsp))]
optim_1 = MixedIntegerLinearProgram(maximization=False, solver = "GLPK")
x = optim_1.new_variable(integer=False, indices=[0..len(X)+1]) # les nouvelles variables seront x[1]... x[7]}
for i in range(0, len(X)):
    optim_1.add_constraint(x[len(X)+1]<=pente[i]*(x[i]-X[i]))
optim_1.set_objective(x[len(X)+1])
optim_1.show()

but unfortunatelly for me the constraints are

optim_1.add_constraint(x[len(X)+1]<=pente[i]*(x[i]-X[i])+f(X[i])

But in that case, I raise the error unsupported operand parent(s) for +: 'Linear functions over Real Double Field' and 'Symbolic Ring'. I perfectly uderstand the problem but I do not know. I do not know in what type to transform f(X[i]), if this is the problem.