balance_horas = {}
for i in ids.keys():
balance_horas[i] = abs(solver.Sum([var_decision[i,hor] for hor in cols_requisitos]) - jornadas[i] + bolsa_horas[i])
suma_total_bolsa_horas = solver.IntVar(0,10000,"suma bolsa horas")
solver.Add(suma_total_bolsa_horas == solver.Sum([balance_horas[i] for i in ids.keys()]))solver.Add(solver.Sum([var_decision[(i, turno)] > 0 for i in ids.keys()]) >= temp_personal_necesario)
--
You received this message because you are subscribed to the Google Groups "or-tools-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to or-tools-discu...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
z = [model.NewBoolVar("") for i in range(5)]x = model.NewIntVar(0, 5, "x")y = model.NewIntVar(0, 5, "y")x_constant = 5y_constant = 3
model.Add( x == sum([z[i] for i in range(3)]) + x_constant)model.Add( y == sum([z[i] for i in range(3,5)]) + y_constant)
x_square = model.NewIntVar(0,1000,"square x")y_square = model.NewIntVar(0,1000,"square y")
model.AddProdEquality(x_square, [x,x])model.AddProdEquality(y_square, [y,y])
all_squared = model.NewIntVar(0,100000,"x and y squared")model.Add(all_squared == sum([x_square,y_square]))
model.Minimize(all_squared)solver = cp_model.CpSolver()solver.Solve(model)solver.ObjectiveValue()WARNING: Logging before InitGoogleLogging() is written to STDERRF1001 02:20:27.917237 16036 integer_expr.h:507] Not supported*** Check failure stack trace: ***Process finished with exit code -1073740791 (0xC0000409)CpSolverResponse:
status: OPTIMAL
objective: 34.000000
best_bound: 34.000000
booleans: 5
conflicts: 0
branches: 2
propagations: 3
integer_propagations: 9
walltime: 0.015469
usertime: 0.007020
deterministic_time: 0.000001
model.Add(sum([var_decision[i,turno]*repartidores_con_moto[i] for i in ids.keys()]) <= 18)from ortools.sat.python import cp_model
model = cp_model.CpModel()
multipliers = [5,5,5]
constants = [1,2,3]
num_elements = len(multipliers)
boolvars = [model.NewBoolVar("var {}".format(i)) for i in range(num_elements)]
squared = {}
minus = {}
for i in range(num_elements):
minus[i] = model.NewIntVar(-10000,10000,"minus {}".format(i))
model.Add(minus[i] == sum([boolvars[i]*multipliers[i] for i in range(num_elements)]) - constants[i])
squared[i] = model.NewIntVar(-10000,100000,"squared {}".format(i))
model.AddProdEquality(squared[i],[minus[i] ,minus[i] ])
model.Minimize(sum([squared[i] for i in range(num_elements)]))
solver = cp_model.CpSolver()
status = solver.StatusName(solver.Solve(model))WARNING: Logging before InitGoogleLogging() is written to STDERR
F1011 20:33:40.517401 13700 integer_expr.h:514] Not supported
*** Check failure stack trace: ***
Process finished with exit code -1073740791 (0xC0000409)z = abs(x - y)
intvar z1, z2
z1 == x - y
z2 == y - x
z == max(z1, z2)from ortools.sat.python import cp_model
model = cp_model.CpModel()
multipliers = [5,5,5]
constants = [1,2,3]
num_elements = len(multipliers)
boolvars = [model.NewBoolVar("var {}".format(i)) for i in range(num_elements)]
squared = {}
minus_1 = {}
minus_2 = {}
abs_minus = {}
for i in range(num_elements):
minus_1[i] = model.NewIntVar(-10000,10000,"minus {}".format(i))
minus_2[i] = model.NewIntVar(-10000, 10000, "minus {}".format(i))
model.Add(minus_1[i] == sum([boolvars[i]*multipliers[i] for i in range(num_elements)]) - constants[i])
model.Add(minus_2[i] == constants[i] - sum([boolvars[i] * multipliers[i] for i in range(num_elements)]))
abs_minus[i] = model.NewIntVar(0,10000," abs minus {}".format(i))
model.Add(abs_minus[i] == max(minus_1[i],minus_2[i]))
squared[i] = model.NewIntVar(-10000,100000,"squared {}".format(i))
model.AddProdEquality(squared[i],[abs_minus[i] ,abs_minus[i] ])
model.Minimize(sum([squared[i] for i in range(num_elements)]))
solver = cp_model.CpSolver()
status = solver.StatusName(solver.Solve(model))model.Add(abs_minus[i] == max(minus_1[i],minus_2[i]))
from ortools.sat.python import cp_model
model = cp_model.CpModel()
multipliers = [5,5,5]
constants = [-1,2,3]
num_elements = len(multipliers)
boolvars = [model.NewBoolVar("var {}".format(i)) for i in range(num_elements)]
squared = {}
minus_1 = {}
minus_2 = {}
abs_minus = {}
for i in range(num_elements):
minus_1[i] = model.NewIntVar(-10000000000,10000000000,"minus {}".format(i))
minus_2[i] = model.NewIntVar(-10000000000, 10000000000, "minus {}".format(i))
model.Add(minus_1[i] == sum([boolvars[i]*multipliers[i] for i in range(num_elements)]) - constants[i])
model.Add(minus_2[i] == constants[i] - sum([boolvars[i] * multipliers[i] for i in range(num_elements)]))
abs_minus[i] = model.NewIntVar(0,10000000000," abs minus {}".format(i))
model.AddMaxEquality(abs_minus[i],[minus_1[i],minus_2[i]])
squared[i] = model.NewIntVar(0,10000000000,"squared {}".format(i))
model.AddProdEquality(squared[i],[abs_minus[i] ,abs_minus[i] ])
# model.Minimize(sum([squared[i] for i in range(num_elements)]))
solver = cp_model.CpSolver()
status = solver.StatusName(solver.Solve(model))
print(status)