Skip to main content

Tutorial document (4 pages, 1 scheme, for download)

 

Would you like to check how robust are your optimized decisions, if possible, construct better ones? Every project is different, with new people to be introduced to the idea, and it is handy to have a step-by-step guide on what to do to construct a new algorithm (see below a table, a file to download is attached).

 

I am an assistant professor of Operations Research at the Erasmus University Rotterdam, doing mostly robust optimization. Based on the internship OR projects of my students, I wrote a short tutorial with key steps to define what exactly is needed, and about what to think in advance. Its aim is to help with such projects in the future and give a guidence “what to look for”.

 

I hope the attached document is useful for your work. Any comments or criticism are welcome!

 

Best, Krzysztof

 

 

Step

Questions to answer

1.

How are solutions determined now?

What are the decisions and what are the parameters? What are the constraints? What is the process leading to finding a solution?

2.

Estimate the hidden costs of the current decision making.

Simulate (data-based) different realizations of the parameters. For each, compute the costs of (i) fixes needed when constraints become violated (ii) unused resources if some robustness is there already.

3. 

Average performance or the difficult scenarios?

What is the thing that you care the most about - long-term average value of the objective function or the “really bad outcomes”? Do you re-optimize every day/week/month? Or is it a one-off design problem?

4. 

Is your problem one-stage or multi-stage?

Is the final state a start for another problem? Can some decisions be made after some initially unknown  parameters become known? Multi-stage approach makes the here-and-now decisions leave space for good later-stage decisions.

5.

Build the optimization model

& The corresponding uncertainty model

What is the maximum solution time? What are the software/memory limitations? How complicated can the model be? Use (adjustable) robust optimization / (multi-stage) stochastic optimization / distributionally robust optimization.

 

Identify a possibly small set of parameters impacting the solution’s performance the most. If available, construct a set of scenarios/probability distribution. If not, use expert knowledge to generate a  reasonable set of scenarios.

6.

Validate the model

For the obtained solution, assess its performance in a simulation study. If the robust solution is more robust than wanted, shrink the set of scenarios. Compare the long-term simulated costs of non-robust and robust models.

7. 

Construct a data to model loop

Automate the construction of the set of scenarios plugged into the robust model. Automate the calibration process (like “validation” in machine learning”). What data do you want to collect for future improvements in the model?

 

 

Lots of Robust Optimization going on; tomorrow a webinar by Ahmadreza Marandi, University of Eindhoven 

https://www.linkedin.com/posts/ahmadreza-marandi-37b69a84_join-our-cloud-hd-video-meeting-activity-6684107984056008704-q8GH

#COVID19 shows how important dealing with uncertainties is, and how critical it is to think about uncertainties while designing the system. This might mean investing more but with being able to react to uncertainties at lower prices in the future. 
Tomorrow, I will give a webinar on how we can design a distribution network using #RobustOptimization, where we have uncertainty in demand (you can think of it as location of warehouses and their inventory positions based on customer demands in the future). Join the webinar if you are interested:

Date: Thursday, July 2, 2020 
Time: 9.00-9.45 Boston time, 15.00-15.45 Dutch time, 21.00-21.45 Singapore time.

Zoom link:  https://lnkd.in/gWgE7t5 


Reply


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

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