Solved

# Minmax - Regret Function in AIMMS?

• 3 replies
• 212 views

• Newcomer
• 2 replies
Hi Community,

i have to build a robust optimization model for my masterthesis at the Technical University in Braunschweig. Therefore i choose the Minimax-Regret Function! These approach deals with different scenarios k. I need to implement this function in an existing basic model, which is a single factory location problem. The basic model calculates the minimal sum of all deviations "d" from target values (so it is a Goal Programming approach) and based on these deviations the output of the model is one compromise-optimal location solution (the basic model is based on one scenario).

So first i implement a new index k for the scenarios to dealwith more than one scenario. How to deal with a minimax-obejctive function in AIMMS is already explained very well in one of the AIMMS Modeling Guides (https://download.aimms.com/aimms/download/manuals/AIMMS3OM_LinearProgrammingTricks.pdf). But i have some issues with the Regret. The definition of the regret is R = d - d*. Therefore, d is the deviation of location i in scenario k and d* is the optimal solution in scenario k (= the minimal sum of deviations = the solution of the basic model). Should i use a for-loop (e.g. for i = k) or is there another way?

I hope my description is understandable! And maybe one of you had the same problem in the past and can give me some advises. I would be very thankful for any information or support!

Thanks,
Alex
icon

Best answer by alexanderwenzel 2 August 2019, 10:17

View original

### 3 replies

Userlevel 4
+3
Alex, I have some question on your description, for your R, it is for each location i on each scenario k, so R(k,i) = d(k,i)- d*(i)? or should R(k,i) = abs( d(k,i)- d*(i) ) ?

And you want to minmax R(k,i) ?

Are you able to write down the formulation on paper?
Userlevel 6
+6
Hi @alexanderwenzel did you find the answer you needed? just wondering how it worked out, maybe it can help others too 🙂
Hey guys, sorry for my late response. There was such an easy solution: i used a parameter instead of a variable to create the d*!