I am working on my actual model.

The objective function aims to maximize the preferences related to each criterion pc to select the best contract that fits with the project characteristics( c1= size, c2= design complexity, c3= construction complexity, c4= flexibility, c5 = site conditions, etc.). Totally I have 10 criteria. The objective function is as follows : maximize sum (alpha(k)*pc(i)*X(i,j))

  • alpha(k) is the weight affected to the criteria c(i),
  • c(i) is the criterion that depends on other parameters, I set of projects
  • X(i,j) binary decision variable = 1 if the contract i is assigned to the project j and 0 otherwise, J set of contracts

Actually, I would like to evaluate the impact of each criterion on the results and the decision variables, that is why I am adding the weights alpha (i) to the objective function.

I started by putting the following values : alpha1 = 0.91 and the other ones = 0.01 to test the results of c1, such as sum of alpha(i) = 1, i=1..10

I would like to know if there is any method to help me choose the right weights, or it is correct to make my own choice as I did.


1 Answer 1


We typically normalize on seconds, minutes xor dollars, for as far as that is possible. And then leave it to a business stakeholder alignment meeting to tweak the weights. But normalization is not always possible.

For example, a "shift overtime work" can be measured in number of seconds of overtime. A "travel time minimization" can be measured in seconds of travel time. But it's fundamentally hard to measure and normalize a "rejected day off request" - a form of employee happiness - in seconds or dollars.

Just know, there is no "optimal weight" for the constraints. It depends to who you talk too. The financial stakeholder will see a very different weight tuning than the operations stakeholder.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.