Skip to content

Instantly share code, notes, and snippets.

@smasson-bi4all
Created September 14, 2021 15:03
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save smasson-bi4all/13db738b70c3b3fc0c52cd52efff0a4a to your computer and use it in GitHub Desktop.
set_up_objective_function
def set_up_objective_function(solver, data_model, x, w, num_products, num_locations):
objective_terms = []
for i in range(num_products):
for j in range(num_locations):
objective_terms.append( data_model['costs'][i][j].value * x[i, j] -
data_model['allocated_unallocated_prod_relationship'][i][j].weight * x[i, j] )
objective_terms_2 = []
for upr in data_model['unallocated_prod_relationship']:
i, k = data_model['products'].index(upr.product1), data_model['products'].index(upr.product2)
for j in range(num_locations):
objective_terms_2.append( -1 * upr.weight * w[i, j, k, j])
solver.Minimize(solver.Sum(objective_terms + objective_terms_2))
# Objective
set_up_objective_function(solver, data_model, x, w, num_products, num_locations)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment