Funplex: A Modified Simplex Algorithm to Efficiently Explore Near-Optimal Spaces
<|reference_start|>Funplex: A Modified Simplex Algorithm to Efficiently Explore Near-Optimal Spaces: Modeling to generate alternatives (MGA) is an increasingly popular method in energy system optimization. MGA explores the near-optimal space, namely, system alternatives whose costs are within a certain fraction of the globally optimal cost. Real-world stakeholders may prefer these alternatives due to intangible factors. Nonetheless, widespread MGA adoption is hampered by its additional computational burden. Current MGA methods identify boundary points of the near-optimal space through repeated, independent optimization problems. Hundreds of model runs are usually required, and such individual runs are often inefficient because they repeat calculations or retrace previous trajectories. In this study, we transcend such limitations by introducing a novel algorithm called Funplex, which uses methods from multi-objective Simplex to optimize many MGA objectives with minimal computational redundancy. For a simple linear-programming energy hub case study, we show that Funplex is five times faster than existing methods and yields higher-quality near-optimal spaces. Furthermore, sensitivity analyses suggest that Funplex scales well with the number of investment variables, making it promising for capacity planning models. The current proof-of-concept implementation based on a full multi-objective tableau may face memory and stability limitations for large models. Nonetheless, future developments based on more advanced versions of Simplex may overcome such barriers, thereby making MGA more accessible and standard among modeling teams.<|reference_end|>
@article{funke2024funplex:,
    title={Funplex: A Modified Simplex Algorithm to Efficiently Explore
  Near-Optimal Spaces},
    author={Christoph S. Funke, Linda Brodnicke, Francesco Lombardi, Giovanni
  Sansavini},
    journal={arXiv preprint arXiv:2406.19809},
    year={2024},
    archivePrefix={arXiv},
    eprint={2406.19809},
    primaryClass={math.OC cs.SY eess.SY}
}