By Alex Dainiak•
Oct 11, 2018
The course is a good sequel in the “… Discrete Optimization” series. With just about any programming language, the true understanding of how the program is run by the computer helps tuning the program, minimizing the execution time. The same is especially true in optimization, as instead of the “classical” imperative programs we have “models” that are digested by some “solver”, which actually does all the number crunching. Different solvers (and the same solver with different configuration) can behave drastically different while running the same model. So this course finally removes the veil and uncovers the things inside these solvers, that were considered as black boxes in the previous two courses. The course is likely to motivate you to experiment with different solvers for the same models, and, maybe, even implementing your own solver.