Modelling functions with intervals

  • 20 July 2021
  • 2 replies


I want to build a Goal Programming Model that uses Satisfaction Functions Here for more information


I now want to build functions that work like this

My variables depend on an additional index j. delta represents the deviation from goal i at alternative j and the alphas represent certain thresholds defined for each scenario.

What is the easiest/simplest way to achieve this? I want to avoid using binary variables because I already tried it and the calculation of the variables did not work and additionally it does not protect against division by 0 if alpha_one and alpha_two happen to be equal.

If there is an easier way to achieve this please let me know :)

2 replies

Userlevel 5
Badge +5

Hello @Koli , the paper you linked to is behind a paywall that we cannot access. 


  1. What did you try with binary variables, and in what way did it not work ? 
  2. If alpha1 and alpha2 are equal, then shouldn’t that condition be equivalent to the first condition of 0 <= delta <= alpha1 ? If you incorporate this, then there will be no division with zero error, and your piecewise function will have only two pieces. 0 <= delta <= alpha1 and alpha1 < delta <= alpha3.



Thanks @mohansx for answering.
I simplified my case so that I only have one alpha and two binary variables beta1 and beta2. beta1 = 1 if delta <= alpha and beta2 = 1 if delta > alpha. I managed this with two constraints:

  • beta2 * alpha - delta <= 0
  • beta1 + beta2 = 1



Didn't find what you were looking for? Try searching on our documentation pages:

AIMMS Developer & PRO | AIMMS How-To | AIMMS SC Navigator