Although my contribution to the book is tiny, I'd like to mention it, because I was involved in the related project FORNE (Forschungskooperation Netzoptimierung/Research cooperation network optimization) for several years.
Two-stage stochastic programming models are considered as attractive tools for making optimal decisions under uncertainty. Traditionally, optimality is formalized by applying statistical parameters such as the expectation or the conditional value at risk to the distributions of objective values.
Uwe Gotzes analyzes an approach to account for risk aversion in two-stage models based upon partial orders on the set of real random variables. These stochastic orders enable the incorporation of the characteristics of whole distributions into the decision process. The profit or cost distributions must pass a benchmark test with a given acceptable distribution. Thus, additional objectives can be optimized. For this new class of stochastic optimization problems, results on structure and stability are proven and a tailored algorithm to tackle large problem instances is developed. The implications of the modelling background and numerical results from the application of the proposed algorithm are demonstrated with case studies from energy trading.
Keywords: Planung und Betrieb dezentraler Energieversorgungssysteme, Design von Nahwärmenetzen, Gemischt-ganzzahlige stochastische Optimierung, Risikoaversion in stochastischen Optimierungsproblemen, Halbordnungen von Zufallsvariablen
We introduce stochastic integer programs with dominance constraints
induced by mixed-integer linear recourse. Closedness of the constraint
set mapping with respect to perturbations of the underlying probability
measure is derived. For discrete probability measures, large-scale,
block-structured, mixed-integer linear programming equivalents to the
dominance constrained stochastic programs are identified. For these
models, a decomposition algorithm is proposed. Computational tests with
instances from power optimization and Sudoku puzzling conclude the
In this paper we present the problem faced by an electricity retailer
which searches to determine the forward contracting portfolio and the
selling price for its clients. This problem is formulated as a
two-stage stochastic program including second-order stochastic
dominance constraints. The stochastic dominance theory is used in order
to reduce the risk suffering from low profits. The resulting
deterministic equivalent problem is a mixed-integer linear program
which is solved using commercial branch-and-cut software. Numerical
results are reported and a realistic case study is solved. Finally,
relevant conclusions are drawn.
Stochastische Optimierungsprobleme, insbesondere
Erwartungswert-Risiko-Modelle, haben sich als nützliche Werkzeuge zur
Entscheidungsfindung unter Unsicherheit erwiesen. In der vorliegenden
Ausarbeitung wird ein innovativer Alternativzugang zur Behandlung des
Risikos in zweistufigen, gemischt-ganzzahligen, linearen,
stochastischen Optimierungsproblemen dargestellt, der auf dem Konzept
der stochastischen Dominanz beruht. Die algorithmische Behandlung der
sich ergebenden hochdimensionalen - jedoch mit Blick auf
Lösungsmethoden günstig strukturierten - gemischt-ganzzahligen
Optimierungsprobleme wird andiskutiert. Die sich ergebenden Effekte
werden anhand von Fallstudien aus dem Bereich der Energiewirtschaft
Optimierung, Stochastische Dominanz, Optimierung in der
We propose a new approach to risk modeling in power optimization
employing the concept of stochastic dominance. This leads to new
classes of large-scale block-structured mixed-integer linear programs
for which we present decomposition algorithms. The new methodology is
applied to stochastic optimization problems related to operation and
investment planning in a power system with dispersed generation.
Dispersed storage and generation, Cogeneration, Renewable resources,
Mathematical optimization, Uncertainty and risk modeling, Stochastic
dominance, Decomposition methods
Master's thesis: Betriebsoptimierung eines Systems mit dezentralen Energieumwandlungsanlagen mittels gemischt-ganzzahliger linearer Modelle, Advisor: Prof. Dr. R. Schultz (Download)
Bundesliga optimization problem.
The German football league - An optimization problem?
In 2012 or so a colleague motivated me to develop optimization models related to football. This section presents the results of my work. The following tables and graphs contain the information which ranking each team of the german Bundesliga can at most reach until the end of the season ("MAX"-column/green graph) and which ranking each team will definitely reach ("MIN"-column/red graph). The "NOW"-column and the grey graph contain the current position of the respective team. The results are obtained by a set of integer programs that I solve using scip. The optimization models incorporate the fact that when teams play against each other at most one team can win, i.e. can gain three points from the match. See model description below. Usually I update the data on mondays or tuesdays. In the middle and at the end of the season, it becomes exciting. Then the red and the green graph form a narrowing corridor. "Final position" in the graphs refers to round robin and double round robin, thus there is a jump in the red and the green graph after the winter break. No responsibility is taken for the correctness of this information. Angaben ohne Gewähr.
The results for season 2016/2017 can be downloaded here (Bundesliga) and here (Second Bundesliga).
Bundesliga (the German football league)
Theory: The Optimization models behind
vbc2dot.rb is a Ruby-script that generates a .dot-file from scip's vbc-file output. Then the program dot is applied to the dot-file to generate a visualization of scip's branch-and-bound tree. In scip (>= 5.0.1), set visual/vbcfilename=vbcfilename and visual/dispsols=TRUE. After you have solved a problem, you can run ruby vbc2dot.rb vbcfilename [options], what will generate a visualization of the branch-and-bound tree of the problem. The tool is still under development, but I think it generates reasonable results. You will need to have ruby and graphviz installed on your system. Alternatively you could use webgraphviz. This is a sample output of vbc2dot (full tree evolution). Another sample output of vbc2dot (final tree only) based upon the problem air04.mps from miplib.
>ruby vbc2dot.rb -h yields:
Usage: vbc2dot.rb vbcfilename [options]
"TB", "LR", "BT", "RL", corresponding to directed graphs drawn from top to bottom, from left to right, from bottom to top, and from right to left, respectively.
Name of generated filenames. Postfixes are chosen automatically, default filename is vbcfilename.
Generate a legend in the output files.
Wait float seconds until next ps-file is generated (movielike ps observation possible).
Generate output according to frequency.
Use option if vbcfile does not contain any information on primal bounds.
zimplTblConverter.rb is a small Ruby-script that converts a scip soltution file to a file where all names are replaced according to a zimpl tbl-file output. The new file is named as the solution file with the postfix .original_names. After you have solved a problem that was generated with zimpl, you can run ruby zimplTblConverter.rb zimpl-tbl-file scip-solution-file, what will generate a new file scip-solution-file.original_names with the original names from the zimpl model formulation.