Originally posted by: BahmanBornay
Hey everybody,
I am new into writing Optimization codes using docplex library.
I happened to have an issue in defining the objective and constraints. Considering the simple LP example from documentation (link: https://ibmdecisionoptimization.github.io/tutorials/html/Linear_Programming.html), if we write it this way:
import numpy as np
from docplex.mp.model import Model
mdl = Model("Tekephon_Production")
n = 2
N = [1, n]
p = [12, 20]
a = np.array([(0.2, 0.4), (0.5, 0.4)])
b = np.array([400, 490])
lb = np.array([100, 100])
x = mdl.continuous_var_dict(N, name='x')
mdl.maximize(12 * x[1] + 20 * x[2])
mdl.add_constraint(0.2 * x[1] + 0.4 * x[2] <= 400)
mdl.add_constraint(0.5 * x[1] + 0.4 * x[2] <= 490)
mdl.add_constraint(x[1] >= 100)
mdl.add_constraint(x[2] >= 100)
solution = mdl.solve(log_output=True)
print(solution)
this block of code is solved as expected. But, as we run the following code, errors are popping up:
x = mdl.continuous_var_dict(N, name='x')
mdl.maximize(mdl.sum(p[i] * x[i] for i in N))
mdl.add_constraint(mdl.sum(p[i] * x[i]) <= 400 for i in N)
mdl.add_constraint(mdl.sum(a[i] * x[i]) <= 490 for i in N)
mdl.add_constraint(x[1] >= 100)
mdl.add_constraint(x[2] >= 100)
solution = mdl.solve(log_output=True)
print(solution)
I would appreciate your comments.
Regards,
Bahman
#CPLEXOptimizers#DecisionOptimization