A two-phase nonlinear optimization method for routing and sizing district heating systems

Jerry Lambert, Hartmut Spliethoff

Research output: Contribution to journalArticlepeer-review

Abstract

This paper presents a method to find the optimal topology, pipe sizing, and operational parameters of a district heating system under consideration of one design point. The current high costs of district heating systems set limits regarding the minimum heat demand density required for economic network expansions. Optimized routing with ideal pipe sizing and optimal operating parameters offers a potential for cost reduction. Therefore, this paper introduces a new two-phase method for district heating network expansion planning. This method consists of consecutive optimizations, starting with a mixed-integer linear programming followed by a nonlinear optimization. During the mixed-integer linear programming, the district heating system is optimized with continuous diameters, and the nonlinear pressure and temperature dependencies must be linearized. The resulting topology and the continuous diameters are afterward handed over to a nonlinear sparse sequential quadratic programming. The continuous diameters are discretized using a numerical continuation strategy that gradually forces the continuous diameter variables into discrete diameter choices. As a proof of concept, the district heating system for a small town with 400 consumers is optimized and analyzed. The two-phase optimization is performed in 251.68 sec, and in most cases, discrete or near discrete diameters are achieved in a nonlinear continuous optimization.

Original languageEnglish
Article number131843
JournalEnergy
Volume302
DOIs
StatePublished - 1 Sep 2024

Keywords

  • Discretization
  • District heating
  • Energy system optimization
  • Nonlinear programming
  • Topology

Fingerprint

Dive into the research topics of 'A two-phase nonlinear optimization method for routing and sizing district heating systems'. Together they form a unique fingerprint.

Cite this