Carl D. Laird's research while affiliated with Carnegie Mellon University and other places
What is this page?
This page lists the scientific contributions of an author, who either does not have a ResearchGate profile, or has not yet added these contributions to their profile.
It was automatically created by ResearchGate to create a record of this author's body of work. We create such pages to advance our goal of creating and maintaining the most comprehensive scientific repository possible. In doing so, we process publicly available (personal) data relating to the author as a member of the scientific community.
If you're a ResearchGate member, you can follow this page to keep up with this author's work.
If you are this author, and you don't want us to display this page anymore, please let us know.
It was automatically created by ResearchGate to create a record of this author's body of work. We create such pages to advance our goal of creating and maintaining the most comprehensive scientific repository possible. In doing so, we process publicly available (personal) data relating to the author as a member of the scientific community.
If you're a ResearchGate member, you can follow this page to keep up with this author's work.
If you are this author, and you don't want us to display this page anymore, please let us know.
Publications (157)
We describe PyNumero, an open-source, object-oriented programming framework in Python that supports rapid development of performant parallel algorithms for structured nonlinear programming problems (NLP’s) using the Message Passing Interface (MPI). PyNumero provides three fundamental building blocks for developing NLP algorithms: a fast interface f...
A formulation for the optimization of index-1 differential algebraic equation systems (DAEs) is described that uses implicit functions to remove algebraic variables and equations from the optimization problem. The formulation uses the implicit function theorem to calculate derivatives of functions that remain in the optimization problem in terms of...
Efficiently embedding and/or integrating mechanistic information with data-driven models is essential if it is desired to simultaneously take advantage of both engineering principles and data-science. The opportunity for hybridization occurs in many scenarios, such as the development of a faster model of an accurate high-fidelity computer model; th...
The optimization and machine learning toolkit (OMLT) is an open-source software package incorporating neural network and gradient-boosted tree surrogate models, which have been trained using machine learning, into larger optimization problems. We discuss the advances in optimization technology that made OMLT possible and show how OMLT seamlessly in...
A reduced space formulation for optimization of index-1 differential algebraic equation systems (DAEs) is described and implemented using PyNumero. The formulation defines implicit functions from algebraic equations and uses them to remove algebraic variables and equations from the optimization problem. The formulation is used to solve dynamic opti...
For many industries addressing varied customer needs means producing a family of products that satisfy a range of design requirements. Manufacturers seek to design this family of products while exploiting opportunities for shared components to reduce manufacturing cost and complexity. We present a mixed-integer programming formulation that determin...
Neural networks (NN)s have been increasingly proposed as surrogates for approximation of systems with computationally expensive physics for rapid online evaluation or exploration. As these surrogate models are integrated into larger optimization problems used for decision making, there is a need to verify their behavior to ensure adequate performan...
This manuscript presents the recent advances in Mixed-Integer Nonlinear Programming (MINLP) and Generalized Disjunctive Programming (GDP) with a particular scope for superstructure optimization within Process Systems Engineering (PSE). We present an environment of open-source software packages written in Python and based on the algebraic modeling l...
In many process systems engineering applications, we seek to integrate surrogate models, e.g. already-trained neural network and gradient-boosted tree models, into larger decision-making problems. This presentation explores different ways to automatically take the machine learning surrogate model and produce an optimization formulation. Our goal is...
Drinking water systems commonly use manual or grab sampling to monitor water quality, identify or confirm issues, and verify that corrective or emergency response actions have been effective. In this paper, the effectiveness of regulatory sampling locations for emergency response is explored. An optimization formulation based on the literature was...
Drinking water utilities rely on samples collected from the distribution system to provide assurance of water quality. If a water contamination incident is suspected, samples can be used to determine the source and extent of contamination. By determining the extent of contamination, the percentage of the population exposed to contamination, or area...
Non-pharmaceutical interventions (NPIs) remain the only widely available tool for controlling the ongoing SARS-CoV-2 pandemic. We estimated weekly values of the effective basic reproductive number (Reff) using a mechanistic metapopulation model and associated these with county-level characteristics and NPIs in the United States (US). Interventions...
Process design and optimization continue to provide computational challenges as the chemical engineering and process optimization communities seek to address more complex and larger scale applications. Software tools for digital design and flowsheet simulation are readily available for traditional chemical processing applications such as in commodi...
We present scalable stochastic optimization approaches for improving power systems’ resilience to extreme weather events. We consider both proactive redispatch and transmission line hardening as alternatives for mitigating expected load shed due to extreme weather, resulting in large-scale stochastic linear programs (LPs) and mixed-integer linear p...
Energy systems and manufacturing processes of the 21st century are becoming increasingly dynamic and interconnected, which require new capabilities to effectively model and optimize their design and operations. Such next generation computational tools must leverage state‐of‐the‐art techniques in optimization and be able to rapidly incorporate new a...
This chapter illustrates the use of Python with Pyomo for solution analysis and the development of custom workflows or high-level meta-algorithms. For example, the chapter shows how to access variable and objective values, add and remove constraints, and iterate over model components. This chapter also contains some larger examples, to illustrate h...
This chapter describes how to interface with solvers in Pyomo. Basic functionality supported by all interfaces includes translation of a Pyomo instance into the format required by a solver, solver options processing, solver invocation, solve status checking, and solution loading.
This chapter describes the core classes used to define optimization models in Pyomo. Most of the discussion focuses on modeling components used to declare parts of a model. Included is a discussion of the options used when declaring the components and information about key component attributes and methods.
This chapter documents how to express hierarchically-structured models using Pyomo’s Block component. Many models contain significant hierarchical structure; that is, they are composed of repeated groups of conceptually related modeling components. Pyomo allows the modeler to define fundamental building blocks, and then construct the overall proble...
This chapter provides a primer on optimization and mathematical modeling. It does not provide a complete description of these topics. Instead, this chapter provides enough background information to support reading the rest of the book. For more discussion of optimization modeling techniques seeWilliams [58]. Implementations of simple examples of mo...
This chapter describes how to declare and use an AbstractModel and data command files to initilize abstract models. Finally, this chapter describes the pyomo command, which makes it particularly easy to solve an abstract model using data command files. Although concrete and abstract models provide similar functionality, abstract models make a stron...
This chapter describes the nonlinear programming capabilities of Pyomo. It presents the nonlinear expressions and functions supported, and it provides some tips for formulating and solving nonlinear programming problems. This chapter also provides several real-world examples to illustrate formulating and solving nonlinear programming problems. Fina...
This chapter documents how to express and solve Generalized Disjunctive Programs (GDPs). GDP models provide a structured approach for describing logical relationships in optimization models.We show how Pyomo blocks provide a natural base for representing disjuncts and forming disjunctions, and we how to solve GDP models through the use of automated...
This chapter documents tools for profiling model construction and improving the performance of both model construction and interaction with solvers. We begin by discussing various profiling tools which can be used to help identify performance bottlenecks. Pyomo has built-in profiling capabilities, but there are also Python packages, such as cProfil...
This chapter documents how to formulate and solve optimization problems with differential and algebraic equations (DAEs). The pyomo.dae package allows users to incorporate detailed dynamic models within an optimization framework, and it is flexible enough to represent a wide variety of differential equations. pyomo.dae also includes several automat...
This chapter provides an overview of the modeling strategies and capabilities of Pyomo. A brief discussion of the core modeling components supported by Pyomo, and some of the modeling capabilities within Pyomo (e.g., discrete variables and nonlinear models) are provided.
This chapter provides a short tutorial of the Python programming language. This chapter briefly covers basic concepts of Python, including variables, expressions, control flow, functions, and classes. The goal is to provide a reference for the Python constructs used in the book. A full introduction to Python is provided by resources such as those l...
This chapter documents how to formulate mathematical programs with equilibrium constraints (MPECs), which naturally arise in a wide range of engineering and economic systems.We describe Pyomo components for complementarity conditions, transformation capabilities that automate the reformulation of MPEC models, and meta-solvers leveraging these trans...
This book provides a complete and comprehensive guide to Pyomo (Python Optimization Modeling Objects) for beginning and advanced modelers, including students at the undergraduate and graduate levels, academic researchers, and practitioners. Using many examples to illustrate the different techniques useful for formulating models, this text beautiful...
In power grid operation, optimal power flow (OPF) problems are solved several times per day to find economically optimal generator setpoints that balance given load demands. Ideally, we seek an optimal solution that is also “N-1 secure”, meaning the system can absorb contingency events such as transmission line or generator failure without loss of...
Flowsheet design and optimization constitute one of the key challenges in the chemical engineering and process optimization communities. Software tools for digital design and flowsheet simulation are readily available for traditional chemical processing problems such as distillation and hydrocarbon processing, however tools for pharmaceutical manuf...
Non-pharmaceutical interventions (NPIs) remain the only widely available tool for controlling the ongoing SARS-CoV-2 pandemic. We estimated weekly values of the effective basic reproductive number ( R eff ) using a mechanistic metapopulation model and associated these with county-level characteristics and NPIs in the United States (US). Interventio...
Evolving power systems with increasing renewables penetration, along with the development of the smart grid, calls for improved communication networks to support these distributed generation sources. Automatic and optimal placement of communication resources within the advanced metering infrastructure is critical to provide a high-performing, relia...
Flame detectors provide an important layer of protection for personnel in petrochemical plants, but effective placement can be challenging. A mixed-integer nonlinear programming formulation is proposed for optimal placement of flame detectors while considering non-uniform probabilities of detection failure. We show that this approach allows for the...
We study the solution of block-structured linear algebra systems arising in optimization by using iterative solution techniques. These systems are the core computational bottleneck of many problems of interest such as parameter estimation, optimal control, network optimization, and stochastic programming. Our approach uses a Krylov solver (GMRES) t...
We study the solution of block-structured linear algebra systems arising in optimization by using iterative solution techniques. These systems are the core computational bottleneck of many problems of interest such as parameter estimation, optimal control, network optimization, and stochastic programming. Our approach uses a Krylov solver (GMRES) t...
To increase manufacturing flexibility and system understanding in pharmaceutical development, the FDA launched the quality by design (QbD) initiative. Within QbD, the design space is the multidimensional region (of the input variables and process parameters) where product quality is assured. Given the high cost of extensive experimentation, there i...
Sampling of drinking water distribution systems is performed to ensure good water quality and protect public health. Sampling also satisfies regulatory requirements and is done to respond to customer complaints or emergency situations. Water distribution system modeling techniques can be used to plan and inform sampling strategies. However, a high...
While peak shaving is commonly used to reduce power costs, chemical process facilities that can reduce power consumption on demand during emergencies (e.g., extreme weather events) bring additional value through improved resilience. For process facilities to effectively negotiate demand response (DR) contracts and make investment decisions regardin...
We show that a strong upper bound on the objective of the alternating current optimal power flow (ACOPF) problem can significantly improve the effectiveness of optimization-based bounds tightening (OBBT) on a number of relaxations. We additionally compare the performance of relaxations of the ACOPF problem, including the rectangular form without re...
We study connections between the alternating direction method of multipliers (ADMM), the classical method of multipliers (MM), and progressive hedging (PH). The connections are used to derive benchmark metrics and strategies to monitor and accelerate convergence and to help explain why ADMM and PH are capable of solving complex nonconvex NLPs. Spec...
State estimation is a fundamental part of monitoring, control, and real-time optimization in continuous pharmaceutical manufacturing. For nonlinear dynamic systems with hard constraints, moving horizon estimation (MHE) can estimate the current state by solving a well-defined optimization problem where process complexities are explicitly considered...
We propose a novel global solution algorithm for the network-constrained unit commitment (NCUC) problem incorporating a nonlinear alternating current (AC) model of the transmission network, which is a mixed-integer quadratically constrained quadratic programming (MIQCQP) problem. Our algorithm is based on the multi-tree search methodology, which it...
The solution of the Optimal Power Flow (OPF) and Unit Commitment (UC) problems (i.e., determining generator schedules and set points that satisfy demands) is critical for efficient and reliable operation of the electricity grid. For computational efficiency, the alternating current OPF (ACOPF) problem is usually formulated with a linearized transmi...
The IDAES PSE framework represents a new approach for the design and optimization of innovative steady state and dynamic processes by integrating an extensible, equation-oriented process model library with the Pyomo algebraic modeling language. Built specifically to enable rigorous large-scale mathematical optimization, the framework includes capab...
This paper presents nonlinear model predictive control (NMPC) and nonlinear moving horizon estimation (MHE) formulations for controlling the crystal size and shape distribution in a batch crystallization process. MHE is used to estimate unknown states and parameters prior to solving the NMPC problem. Combining these two formulations for a batch pro...
Electricity markets rely on the rapid solution of the optimal power flow (OPF) problem to determine generator power levels and set nodal prices. Traditionally, the OPF problem has been formulated using linearized, approximate models, ignoring nonlinear alternating current (AC) physics. These approaches do not guarantee global optimality or even fea...
Optimal design of a gas detection systems is challenging because of the numerous sources of uncertainty, including weather and environmental conditions, leak location and characteristics, and process conditions. Rigorous CFD simulations of dispersion scenarios combined with stochastic programming techniques have been successfully applied to the pro...
This chapter documents how to express hierarchically-structured models using Pyomo’s Block component. Many models contain significant hierarchical structure; that is, they are composed of repeated groups of conceptually related modeling components. Pyomo allows the modeler to define fundamental building blocks, and then construct the overall proble...
This chapter documents how to express and solve Generalized Disjunctive Programs (GDPs). GDP models provide a structured approach for describing logical relationships in optimization models.We show how Pyomo blocks provide a natural base for representing disjuncts and forming disjunctions, and we how to solve GDP models through the use of automated...
This chapter describes the nonlinear programming capabilities of Pyomo. It presents the nonlinear expressions and functions that are supported, and it provides some tips for formulating and solving nonlinear programming problems. Pyomo makes use of the interface provided by the AMPL Solver Library to provide efficient expression evaluation and auto...
This chapter provides an overview of the modeling strategies and capabilities of Pyomo. We provide a brief overview of the core modeling components supported by Pyomo.We then discuss the differences between concrete and abstract models, and give some guidance on when to select one approach over another. We provide some examples that illustrate the...
This chapter documents how to formulate and solve optimization problems with differential and algebraic equations (DAEs). The pyomo.dae package allows users to easily incorporate detailed dynamic models within an optimization framework and is flexible enough to represent a wide variety of differential equations. We also demonstrate several automate...
This chapter documents how to formulate mathematical programs with equilibrium constraints (MPECs), which naturally arise in a wide range of engineering and economic systems. We describe Pyomo components for complementarity conditions, and transformation capabilities that automate the reformulation of MPEC models, and meta-solvers that leverage the...
This chapter illustrates the use of Python scripts for solution analysis, the development of high-level algorithms and custom workflows. We discuss how to script the standard workflow: build a model, solve the model, and then analyze the solution. Pyomo also supports development of high-level algorithms and complex workflows. This chapter also cont...
This chapter describes Pyomo’s command-line interface, which includes a variety of subcommands that support common workflows and provide information about Pyomo and its installation.
This chapter describes PySP, a stochastic programming extension to Pyomo. PySP enables the expression of stochastic programming problems as extensions of deterministic models, which are often formulated first. To formulate a stochastic program in PySP, the user specifies both the deterministic base model and the scenario tree with associated uncert...
This chapter describes the core classes that are used to define optimization models in Pyomo. Most of the discussion focuses on modeling components that are used to declare parts of a model. We include a discussion of the options that can be used when declaring the components and information about key component attributes and methods.
Data command files allow users to define set and parameter data with a high-level language. This chapter discusses the format of these data commands, as well as the various data declarations that Pyomo supports. Pyomo’s data commands include both direct specifications of data, as well as specifications that indicate how data is to be extracted from...
This chapter provides a primer on optimization and mathematical modeling. It does not provide a complete description of these topics. Instead, this chapter provides enough background information to support reading the rest of the book. For more discussion of optimization modeling techniques see, for example, Williams [86]. Implementations of simple...
This chapter documents how to formulate bilevel programs, which model adversarial behavior in a general manner. We describe new modeling components that represent subproblems, modeling transformations for re-expressing models with bilevel structure in other forms, and optimize bilevel programs with metasolvers that apply transformations and then pe...
This book provides a complete and comprehensive guide to Pyomo (Python Optimization Modeling Objects) for beginning and advanced modelers, including students at the undergraduate and graduate levels, academic researchers, and practitioners. Using many examples to illustrate the different techniques useful for formulating models, this text beautiful...
In response to a contamination incident in water distribution networks, disinfectant booster stations can be used to neutralize the contaminant and protect the public. In this paper, two mixed-integer linear programming formulations are proposed for optimal placement of disinfectant booster stations. The first formulation minimizes the contaminant...
Representing the uncertainties with a set of scenarios, the optimization problem resulting from a robust nonlinear model predictive control (NMPC) strategy at each sampling instance can be viewed as a large-scale stochastic program. This paper solves these optimization problems using the parallel Schur complement method developed to solve stochasti...
We present a clustering-based preconditioning strategy for KKT systems arising in stochastic programming within an interior-point framework. The key idea is to perform adaptive clustering of scenarios (inside-the-solver) based on their influence on the problem at hand. This approach thus contrasts with existing (outside-the-solver) approaches that...
A stochastic programming formulation (SPqt), based on the P-median problem, is proposed for determining the optimal placement of detectors in mitigation systems while considering nonuniform dynamic detector unavailabilities. Unlike previously proposed formulations, SPqt explicitly considers backup detection levels. This allows the modeller to deter...
We propose a mathematical programming-based approach to optimize the unit commitment problem with alternating current optimal power flow (ACOPF) network constraints. This problem is a nonconvex mixed-integer nonlinear program (MINLP) that we solve through a solution technique based on the outer approximation method. Our solution technique cooptimiz...
In the event of contamination in a water distribution network (WDN), source identification (SI) methods that analyze sensor data can be used to identify the source location(s). Knowledge of the source location and characteristics are important to inform contamination control and cleanup operations. Various SI strategies that have been developed by...
The demand for fast solution of nonlinear optimization problems, coupled with the emergence of new concurrent computing architectures, drives the need for parallel algorithms to solve challenging nonlinear programming (NLP) problems. In this paper, we propose an augmented Lagrangian interior-point approach for general NLP problems that solves in pa...
This work considers optimization formulations for optimal placement of detectors in mitigation systems. Considering independent detector failure probability leads to a mixed-integer stochastic programming formulation with nonlinear terms. Our problem formulation differs from others in that it explicitly considers different backup detection levels,...
This paper presents a decomposition strategy applicable to DAE constrained optimization problems. A common solution method for such problems is to apply a direct transcription method and solve the resulting nonlinear program using an interior-point algorithm. For this approach, the time to solve the linearized KKT system at each iteration typically...
In this work, we address optimization of large-scale, nonlinear, block-structured problems with a significant number of coupling variables. Solving these problems using interior-point methods requires the solution of a linear system that has a block-angular structure at each iteration. Parallel solution is possible using a Schur-complement decompos...
We present a clustering-based interior-point strategy for two-stage stochastic programs. This problem class arises in stochastic optimal control, robust design, and parameter estimation and has the property that an arrowhead block representation of the KKT system can be obtained. Each block corresponds to a scenario, which is typically obtained by...
Chemotherapy is the most commonly employed method for systemic cancer treatment of solid tumors and their metastases. The balance between successful killing of cancer cells and minimizing the toxicity to the host remains a challenge for clinicians in deploying chemotherapy treatments. With toxicity as the primary reason a patient is either dose-red...
Gas detection is an important safety system with interfaces to several other safety safeguards. However, the generality of the regulations, standards and recommended practices in conjunction with the inherent challenges of the gas detector placement problem, has resulted in a widespread use of prescriptive and qualitative detector placement strateg...
Emerging applications in water distribution systems place new challenges on water quality modeling tools, including the need for an explicit mathematical representation and simulation of large ensembles of contamination scenarios. We present a computational framework, referred to as Merlion, that creates an explicit mathematical model for water qua...
The accidental or intentional injection of chemical or biological contaminants into the drinking water network poses a serious security threat to the people living in modern cities. In case of a contamination event, ensuring the supply of safe, clean drinking water requires efficient detection, source determination, and response planning. Mathema...
Nonlinear stochastic programming is an effective technique to formulate and solve optimal design and operations problems under uncertainty in many industries. These problems are often formulated as multi-scenario optimization problems, and in many cases, an optimal solution can be found using current off-the-shelf solvers. However, as the model rig...
The task of detector placement is especially difficult due to the large number of variables that influence the risk associated with gas leaks; these include leak conditions, fluid properties, dispersion characteristics, process equipment geometry, and detection equipment. Existing work on optimal gas detector placement does not take into account tw...