Logspace Sequential Quadratic Programming For Desi
Logspace Sequential Quadratic Programming For Desi
Optimization
Cody J. Karcher ∗
Massachusetts Institute of Technology, Cambridge, MA, 02139
A novel approach to exploiting the log-convex structure present in many design problems is
arXiv:2105.14441v1 [cs.CE] 30 May 2021
developed by modifying the classical Sequential Quadratic Programming (SQP) algorithm. The
modified algorithm, Logspace Sequential Quadratic Programming (LSQP), inherits some of the
Signomial Programing, but retains the the natural integration of black box analysis methods
from SQP. As a result, significant computational savings is achieved without the need to
invasively modify existing black box analysis methods prevalent in practical design problems.
In the cases considered here, the LSQP algorithm shows a 40-70% reduction in number of
transformation to logspace∗ [1]. GPs have received a great deal of attention in many industries including chemical
engineering[2], environment quality control[3], digital circuit design[4], analog and RF circuit design[5–7], transformer
design[8], communication systems [9–11], biotechnology[12, 13], epidemiology[14], optimal gas flow[15], and tree-
water-network control[16] (compilation from Agrawal[17]), but the most recent surge has occurred in the field of aircraft
design[18–29].
As convex programs GPs can be solved rapidly and with guaranteed convergence to a global optimum, but the GP
formulation is narrow, only allowing an objective and constraints which take a specific form. Signomial Programming
(SP), also referred to as Generalized Geometric Programming (GGP) in the literature, offers a natural extension to the
GP formulation and enables a much wider variety of models to be included in the objective and constraints[1]. The
price of this added flexibility is the loss of convexity and Signomial Programs must therefore be solved by a series of
convex GP approximations. In practice, Signomial Programs are often an order of magnitude more expensive to solve
Despite the enhanced modeling flexibility, the Signomial Programming formulation often remains too limiting for
∗ Graduate Student, Department of Aeronautics and Astronautics, [email protected], AIAA Member
∗ In some of the literature, the transformation considered in this work is referred to as a log-log transformation since both dependent and
independent variables are transformed. In all cases here, logspace, log-convexity, log transformation etcetera could equivalently be called log-log
space, log-log convexity, log-log transformation and similar.
designers. Hall[29] specifically notes that both GP and SP formulations require all models to be explicitly written as
constraints in the optimization formulation, which effectively eliminates the use of black box analysis models that are
prevalent in practical design problems[30]. Thus, committing to a GP or SP approach to design significantly increases
the modeling effort required by the designer and drastically limits the practicality of these methods.
Due to the existence of these black boxes, Sequential Quadratic Programming (SQP) has become one of the more
popular algorithms for aircraft design applications[31, 32]. With SQP, the objective and each constraint are approximated
using only a function evaluation and the gradient vector at a series of candidate points. For black boxes constructed to
return gradients (as has become standard practice), the integration with SQP is quite natural.
This work builds on these two fundamental pillars. First, efforts in Geometric and Signomial Programming have
revealed an exploitable underlying structure in engineering design, but these formulations do not conform to the existing
modeling approach. Furthermore, modifying existing models would require an investment of time and money that
would likely be prohibitive. Second, the SQP algorithm conforms with existing modeling approaches but ignores known
structure in the optimization formulation, causing valuable computational effort to be wasted in the form of unnecessary
iterations. The modification to SQP proposed in this work, Logspace Sequential Quadratic Programming (LSQP),
bridges this divide to exploit underlying design space structure while remaining practical to designers who wish to
minimize 𝑓 (x)
x
h 𝑗 (x) = 0, 𝑗 = 1, . . . , 𝑀
The Sequential Quadratic Programming (SQP) algorithm solves this general non-linear program (NLP) by iteratively
considering candidate solutions x 𝑘 and solving the Quadratic Programming (QP) sub-problem:
1
minimize 𝑓 (x 𝑘 ) + ∇ 𝑓 (x 𝑘 )𝑇 d + d𝑇 ∇2 L (x 𝑘 )d
d 2
subject to 𝑔𝑖 (x 𝑘 ) + ∇𝑔𝑖 (x 𝑘 )𝑇 d ≤ 0, 𝑖 = 1, . . . , 𝑁
(2)
ℎ 𝑗 (x 𝑘 ) + ∇ℎ 𝑗 (x 𝑘 )𝑇 d = 0, 𝑗 = 1, . . . , 𝑀
d = x − x𝑘
2
at each iteration 𝑘 [33–35] until some convergence criteria is reached. The key assumption of SQP is that the QP
sub-problem (Equation 2) is an accurate local approximation of the original problem (Equation 1). Note that the use of
the Hessian of the Lagrangian ∇2 L has been shown to be superior to directly using the Hessian of the objective function
∇2 𝑓 [33].
The sub-problem is constructed by approximating the objective as a second order Taylor Series about the candidate
solution x 𝑘 and each constraint as a first order Taylor Series about the same x 𝑘 . This process results in a convex QP
sub-problem that can be readily solved for a global optimum d∗ , the direction vector that points from current point x 𝑘 to
the next point x 𝑘+1 . Note that this sub-problem can be fully constructed given only the function evaluations 𝑓 (x 𝑘 ),
𝑔𝑖 (x 𝑘 ), and ℎ 𝑗 (x 𝑘 ) and the gradients ∇ 𝑓 (x 𝑘 ), ∇𝑔𝑖 (x 𝑘 ), and ∇ℎ 𝑗 (x 𝑘 ), which makes apparent the value of this method
B. Geometric Programming
Geometric Programs are built upon two fundamental building blocks: monomial and posynomial functions. A
monomial function is defined as the product of a leading constant with each variable raised to a real power[1]:
𝑁
Ö
𝑚(x) = 𝑐𝑥1 𝑎1 𝑥2 𝑎2 ... 𝑥 𝑛 𝑎𝑛 = 𝑐 𝑥𝑖𝑎𝑖 (3)
𝑖=1
A posynomial is simply the sum of monomials[1], which can be defined in notation as:
𝐾
∑︁ 𝑁
Ö
𝑝(x) = 𝑚 1 (x) + 𝑚 2 (x) + ... + 𝑚 𝑛 (x) = 𝑐𝑘 𝑥𝑖𝑎𝑖𝑘 (4)
𝑘=1 𝑖=1
From these two building blocks, it is possible to construct the definition of a GP in standard form[1]:
minimize 𝑝 0 (x)
x
𝑝 𝑗 (x) ≤ 1, 𝑗 = 1, . . . , 𝑀
When constraints and objectives can be written in the form specified in Equation 5 it is said that the problem is GP
compatible.
In general, the formulation defined by Equation 5 is a non-linear and non-convex optimization problem, making it
extremely difficult to solve[1], however a GP can be transformed into a convex optimization problem by undergoing a
logarithmic transformation. As convex programs GPs can be solved by a wide variety of algorithms, but most are now
solved using primal/dual methods[1] and solvers such as CVXOPT[36] are readily available and return reliable results
3
C. Signomial Programming
Signomal Programs (SPs) are a logical extension of Geometric Programs that enable the inclusion of negative leading
constants and a broader set of equality constraints. Of interest here is that SPs are not convex upon transformation to
logspace unlike their GP counterparts, but still benefit from an underlying structure which is well approximated by a
log-convex formulation. This property is what is referred to here has having a high degree of log-convexity.
The key building blocks of the Signomial Programing are signomials, which are the difference between two
𝐾
∑︁ 𝑁
Ö 𝑃
∑︁ 𝑁
Ö
𝑔
𝑠(x) = 𝑝(x) − 𝑛(x) = 𝑐𝑘 𝑥𝑖𝑎𝑖𝑘 − 𝑑𝑝 𝑥 𝑖 𝑖𝑘 (6)
𝑘=1 𝑖=1 𝑝=1 𝑖=1
where posynomial 𝑝(x) represents the convex portion of the signomial and ‘neginomial’ 𝑛(x) is the concave portion.
With this definition, it is now possible to write the standard form for a Signomial Program [21]:
𝑝 0 (x)
minimize
x 𝑛0 (x)
subject to 𝑠𝑖 (x) = 0, 𝑖 = 1, . . . , 𝑁 (7)
𝑠 𝑗 (x) ≤ 0, 𝑗 = 1, . . . , 𝑀
In this alternative form, the neginomial is added to both sides, and then used as a divisor to construct an expression
The Difference of Convex Algorithm (DCA) is used to solve SPs. In this method, the neginomials are replaced by
4
thus yielding a GP at each iteration:
𝑝 0 (x)
minimize
x 𝑛¯ 0 (x)
𝑝 𝑖 (x)
subject to = 1, 𝑖 = 1, . . . , 𝑁 (10)
𝑛¯ 𝑖 (x)
𝑝 𝑗 (x)
≤ 1, 𝑗 = 1, . . . , 𝑀
𝑛¯ 𝑗 (x)
It has been shown in many test cases[21–27] that extremely complex Signomial Programs can be constructed which
exhibit a high degree of log-convexity and can therefore be solved in very few iterations. For example, Kirschen[21]
proposes a full aircraft design problem with 824 variables that solves in only six iterations. Similarly, the design case
presented by York[27] has 628 variables and also solves in only six iterations.
minimize 𝑓 (x)
x
h 𝑗 (x) = 1, 𝑗 = 1, . . . , 𝑀
reformulated so that a value of 1 appears on the right hand side of the constraints.
From Equation 11, the problem can now be transformed in a similar fashion to that of a Geometric Program [1]:
minimize log 𝑓 (𝑒 y )
y
log h 𝑗 (𝑒 y ) = 0, 𝑗 = 1, . . . , 𝑀
optimization problem based on the similar properties of geometric and signomial programs. For example, in the case
where the original NLP is a geometric program, monomial constraints will be exactly represented as lines in logspace,
while posynomials be represented as log-sum-exp functions which are known to be convex for positive leading constants.
Consider then that rather than implementing the SQP algorithm on the original problem (Equation 1), that the same
SQP algorithm can be implemented on this transformed problem (Equation 12). This is Logspace Sequential Quadratic
Programming (LSQP).
5
B. Expressions for the Gradients of the LSQP Functions
LSQP can be implemented in two ways. First, one can directly construct the formulation in Equation 12 and
then implement any existing SQP method, an approach demonstrated by Kirschen[37] in a limited form. The log
transformation is essentially treated as a pre-processing step, and a final post-processing step can transform the variables
y𝑖 back into the original variables x𝑖 . However, this approach is only available if the objective and constraints are
known explicitly to the solver and violates the desire to utilize the same function evaluations 𝑓 (x 𝑘 ), 𝑔𝑖 (x 𝑘 ), ℎ 𝑗 (x 𝑘 ) and
gradients ∇ 𝑓 (x 𝑘 ), ∇𝑔𝑖 (x 𝑘 ), ∇ℎ 𝑗 (x 𝑘 ) that are generally expected. Using calculus, it is possible to derive expressions for
the gradients of the transformed functions as functions of the original gradients, thereby allowing black box analyses to
For the sake of simplicity, take the log transformed formulation (Equation 12) in the following condensed form:
minimize 𝐹 (𝑒 y )
y
subject to 𝐺 𝑖 (𝑒 y ) ≤ 0, 𝑖 = 1, . . . , 𝑁 (13)
𝐻 𝑗 (𝑒 y ) = 0, 𝑗 = 1, . . . , 𝑀
with capital letters representing the corresponding transformed functions. The relevant derivatives can now be readily
With this information, a formal definition of the Logspace Sequential Quadratic Program can be constructed. The
minimize 𝑓 (x)
x
h 𝑗 (x) = 1, 𝑗 = 1, . . . , 𝑀
6
by solving a series of approximate sub-problems† :
1 1
minimize log 𝑓 (x 𝑘 ) + (x 𝑘 ∇ 𝑓 (x 𝑘 ))𝑇 d + d𝑇 ∇2 L (y 𝑘 )d
d 𝑓 (x 𝑘 ) 2
1
subject to log 𝑔𝑖 (x 𝑘 ) + (x 𝑘 ∇𝑔𝑖 (x 𝑘 ))𝑇 d ≤ 0, 𝑖 = 1, . . . , 𝑁
𝑔𝑖 (x 𝑘 )
1 𝑇 (16)
log ℎ 𝑗 (x 𝑘 ) + x 𝑘 ∇ℎ 𝑗 (x 𝑘 ) d = 0, 𝑗 = 1, . . . , 𝑀
ℎ 𝑗 (x 𝑘 )
d = y − log x 𝑘
y = log x
Note that the term 12 d𝑇 ∇2 L (y 𝑘 )d has been left as a function of transformed variables y 𝑘 , since this matrix is rarely ever
explicitly computed and is instead constructed via an approximation method such as BFGS[34]. However it is possible
to derive this expression as a function of the second derivatives of the original objective and constraints. This exercise
Typically, standard form in constrained optimization is defined by Equation 1, with constraints being bound by a
value of zero. Constructing the typical standard form is generally a simple matter of subtracting the necessary terms
until zero is attained on the correct side of the constraint. However, the standard form for LSQP (Equation 11) is not as
simple to construct.
By far the most accurate sub-problem is obtained if standard form is derived via the same steps used in constructing
the standard form of Signomial Programs: separate the concave contributions of the constraints and divide to obtain a
unity constraint. This method results in a constraint that is naturally scaled and has a higher likelihood of being well
Unless the constraint is explicitly written, as is the case with Signomial Programing, such separation may not be
possible and an alternative approach is needed. A typical constraint has two sides which are approximately equal in
magnitude. Dividing the two sides of the constraint to construct an appropriate fraction and using the correct operator to
constrain this fraction with a value of one will result in an equivalent constraint in LSQP standard form, though the lack
At worst, it is always possible to construct the typical standard form (bound by zero) and then add 1 to both sides,
though this approach gives no consideration to underlying structure and will likely not be well scaled.
In the work presented here, constraints which are GP compatible are written in GP standard form. However,
signomial constraints are constructed by first writing 𝑠𝑖 (x) = 0 (or similar) and then adding one to both sides, yielding
† The symbol represents the Hadamard Product, or element-wise product, of two matrices
7
𝑠𝑖 (x) + 1 = 1. This approach was taken to present the hardest challenge for the proposed LSQP algorithm, though future
efforts could be improved by taking one of the first two approaches described here.
C. Non-Positive Values
In cases where a variable 𝑥𝑖 is not strictly positive, an additive shift can be implemented to create the transformed
𝑥 𝑖,𝑠𝑢𝑏 = 𝑥𝑖 + 𝐾 (17)
where 𝐾 is some constant that ensures 𝑥 𝑖,𝑠𝑢𝑏 is strictly positive. The constraints can be transformed as:
g𝑖 (x) + 𝐾
≤1 (18)
1+𝐾
and similar, where the left hand side becomes the new function implemented in LSQP.
Excessive use of these transformations will likely change underlying structure and it is therefore prudent to limit
their use. In general, problems with many negative variables or constraints are likely to be more efficiently solved with
traditional SQP, but this remains an area for further exploration not fully considered in this work.
Section III.B to construct the QP sub-problem and approximate the Hessian via a BFGS update. As a result, the existing
SQP literature is heavily utilized in constructing the LSQP algorithm. The proposed modified algorithm (Algorithm
1) is a combination of methods proposed by Nocedal and Wright[34], Kraft[35], and the Matlab documentation[38].
These sources seem to form the core of the some of the more commonly used algorithms, such as those implemented in
Matlab and Python’s Scipy package. Note the use of condensed notation in the algorithm definition (see Equation 13).
The following sections outline relevant implementation details. For brevity, the elements of the algorithm shared
with traditional SQP will not be revisited, but citations have been provided in Algorithm 1 that provide a detailed
A handful of specific failure modes have been introduced due to the log transformation. First, the function evaluations
of the objectives and all constraints must be strictly positive at the initial guess x0 , and at each subsequent iteration x 𝑘 .
Second, while iteration points x 𝑘 need not be feasible, the conditions 𝑓 (x 𝑘 ) > 0, 𝑔𝑖 (x 𝑘 ) > 0, and ℎ 𝑗 (x 𝑘 ) > 0 must all
8
One potential solution to both of these issues would be to modify the step size computation (Line 12 of Al-
gorithm 1) to ensure that any step taken results in a new x 𝑘+1 that has strictly positive values and returns strictly
positive values for all 𝑓 (x 𝑘 ), 𝑔𝑖 (x 𝑘 ), and ℎ 𝑗 (x 𝑘 ), though this would require additional evaluations of the constraints at
each iteration and may add excessive computational expense. As a result, such measures have not been implemented here.
9
B. Generating and Solving the QP Sub-Problem
Solving the QP sub-problem proposed in Equation 16 often fails in practice due to inconsistent constraints. This
+𝑀
𝑁∑︁
1 1
minimize log 𝑓 (x 𝑘 ) + (x 𝑘 ∇ 𝑓 (x 𝑘 ))𝑇 d + d𝑇 ∇2 L (y 𝑘 )d + 𝐾 𝜎𝑖2
d 𝑓 (x 𝑘 ) 2 𝑖=1
1
subject to log 𝑔𝑖 (x 𝑘 ) + (x 𝑘 ∇𝑔𝑖 (x 𝑘 ))𝑇 d ≤ 𝜎𝑖 , 𝑖 = 1, . . . , 𝑁
𝑔𝑖 (x 𝑘 )
1 𝑇 (19)
log ℎ 𝑗 (x 𝑘 ) + x 𝑘 ∇ℎ 𝑗 (x 𝑘 ) d = 𝜎 𝑗+𝑁 , 𝑗 = 1, . . . , 𝑀
ℎ 𝑗 (x 𝑘 )
d = y − log x 𝑘
y = log x
where 𝐾 is some arbitrarily large constant. If all constraints are consistent, the QP optimizer will push all 𝜎𝑖 = 0,
thus yielding an equivalent sub-problem to Equation 16. A post processing check is implemented to ensure all 𝜎𝑖 are
For the first few iterations (ie 𝑘 = 1, 2, 3), the curvature matrix ∇2 L (y 𝑘 ) is an exceedingly poor approximation of
the actual curvature in the search space. Thus, a limit in these early iterations has been imposed according to:
𝑑 𝑥𝑖
≤ 𝑏𝑘 (20)
𝑥𝑖
where 𝑏 𝑘 follows the schedule [0.2, 0.5, 1.0] for 𝑘 = 0, 1, 2 and becomes 𝑏 𝑘 = ∞ for 𝑘 ≥ 3. While not necessary for
successful convergence, this bounding in early iterations was observed to improve both SQP and LSQP solutions for the
Note that at each of the iterations 𝑘, each variable bounds the step size independently, rendering relevant only the
variable with the most relative change. This simple trust bounding allows the approximation of the curvature matrix to
increase in quality before attempting to move too rapidly to a poor candidate solution. This trust bounding is the only
area in which this approach knowingly deviated substantially from the Matlab SQP algorithm used for comparison.
A. Methodology
Three algorithms were implemented to study the potential benefits of the LSQP modification: a Python implementation
of LSQP (as described in Section V), a similar Python implementation of SQP (implemented to be identical to the
10
LSQP algorithm without the log transformation), and the Matlab implementation of SQP (fmincon with the ‘SQP’
flag). Comparing the Python SQP and the Matlab SQP provides evidence that the Python implementation is consistent
with the performance of a well established algorithm. If the Python SQP performs within acceptable tolerance of the
Matlab algorithm, it is sufficient foundation to compare the Python SQP to the Python LSQP and draw conclusions as
to the performance differences. The SQP algorithm in Python’s Scipy package was also considered for comparison
(an implementation of the algorithm presented by Kraft[35]), but lack of control on the termination condition meant a
Considering these three algorithms yields a total of 24 cases: 4 problems (Boyd, Rosenbrock, Floudas, Kirschen-
Ozturk), 2 guess categories (Good and Poor, where initial guess values were bound to +/- 10% and +/- 80% from the
For each of the 24 cases, 1000 trials were conducted from a random initial starting point. For a given test problem
and guess category, the random starting points were kept the same across the three algorithms so that no algorithm
Due to the computational expense of 24000 trials, the computational resources of the MIT SuperCloud were
Note that none of these cases contains a true black boxed analysis model in order to allow for comparison between
known optima and the computed result, however the objective and constraints are treated by the algorithm (Algorithm 1)
as black boxes regardless of actual form and therefore any equivalent black box could be equivalently substituted in
The first test case is a toy problem proposed by Boyd as an example of a simple Geometric Program[1]. While this
is not a complicated problem, it is a design case in that it seeks maximize the volume of some box given constraints on
11
the surface areas and aspect ratios of various faces. The problem is given here in LSQP standard form:
minimize 1/(ℎ𝑤𝑑)
ℎ,𝑤 ,𝑑
ℎ𝑤 ℎ𝑑
subject to 2 +2 ≤1
𝐴 𝑤 𝑎𝑙𝑙 𝐴 𝑤 𝑎𝑙𝑙
𝑤𝑑
≤1
𝐴 𝑓 𝑙𝑜𝑜𝑟
𝛼𝑤 (21)
≤1
ℎ
ℎ
≤1
𝛽𝑤
𝛾𝑤
≤1
𝑑
𝑑
≤1
𝛿𝑤
Solving this problem with the LSQP modification requires significantly fewer iterations than traditional SQP. Figure
1 shows that all of the LSQP trials converged within 10 iterations, while the best SQP case converges in the same number
of iterations less than 60% of the time. Table 1 provides a more detailed report on the average number of iterations for
1.0 1.0
Probability of Convergence
Probability of Convergence
0.8 0.8
0.6 0.6
0.4 0.4
0.2 Matlab SQP 0.2 Matlab SQP
SQP SQP
0.0 LSQP 0.0 LSQP
0 10 20 30 40 50 60 0 10 20 30 40 50 60
Number of Iterations Number of Iterations
(a) A Good Initial Guess (b) A Poor Initial Guess
Fig. 1 Probability of Convergence vs. Iteration Count for the Boyd Problem
Table 1 Comparison of the Number of Iterations Required to Solve the Boyd Geometric Program
The Boyd Geometric Program demonstrates a clear win for the LSQP modification: the number of required iterations
12
is decreased by approximately 70% at no additional computational cost or sacrifice to solution quality. This benefit
is unsurprising due to the high number of monomials which become exactly represented under the transformation to
logspace, and the high degree of log-convexity exhibited by all geometric programs. However, subsequent cases will
become more complex and represent greater challenges to the LSQP algorithm.
The Rosenbrock function is a common test case for optimization methods. It is unique in that the optimum resides
in an extremely shallow local valley, making it an excellent test problem for gradient based methods. Consider the
subject to (𝑥 − 1) 3 − 𝑦 + 2 ≤ 1
𝑥+𝑦−1 ≤ 1 (22)
𝑥
≤1
1.5
𝑦
≤1
2.5
Note that a constant of 1 has been added to the objective to shift up the optimum and enable the log transformation of
LSQP. The variables are also bound to be greater than a small positive constant to aid the construction of sub-problems.
Rosenbrock’s problem is not a GP or SP as formulated, but can be reformulated by setting an intermediate variable 𝑧
equal to the objective. However, an attempt to solve the problem in this modified form with the Difference of Convex
Unlike Boyd’s Geometric Program, the Rosenbrock problem is a clear win for traditional SQP. Figure 2 shows good
agreement between the Matlab and Python SQP, but a 50-60% increase in iteration count for the LSQP modification.
1.0 1.0
Probability of Convergence
Probability of Convergence
0.8 0.8
0.6 0.6
0.4 0.4
0.2 Matlab SQP 0.2 Matlab SQP
SQP SQP
0.0 LSQP 0.0 LSQP
0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0
Number of Iterations Number of Iterations
(a) A Good Initial Guess (b) A Poor Initial Guess
Fig. 2 Probability of Convergence vs. Iteration Count for the Rosenbrock Problem
13
In the case of good initial guesses, all three algorithms reach 100% success. However, for poor initial guess values,
all three algorithms have some percentage of cases which converge instead to the local optimum at 𝑓 (0, 0) = 2, which is
why Figure 2(b) shows ultimate success probabilities between 0.7 and 0.85.
So why does the traditional SQP outperform the LSQP modification? As was mentioned in Section II.C, just because
the problem can be constructed as a Signomial Program does not imply underlying log-convexity, and the Rosenbrock
This can be seen by visualizing the original Rosenbrock Problem and the Rosenbrock Problem under log transformation
Fig. 3 A quadratic approximation of the Rosenbrock objective function in untransformed space. Approxima-
tion referenced about the global optimum indicated by a red dot.
Fig. 4 A quadratic approximation of the Rosenbrock objective function in log transformed space. Approxima-
tion referenced about the global optimum indicated by a red dot. Note the large white area in (b) represents a
region where the value of the function exceeds the contour range.
The traditional SQP algorithm takes QP approximations in the space of Figure 3(a), resulting in a QP objective
14
function that appears like Figure 3(b). Compare this visually to Figure 4, which represents the LSQP modification. In
order to capture the local region around the reference point, the quadratic approximation in Figure 4(b) creates a deep
narrow valley that clearly is a poor approximation of the objective globally, as indicated by the large white area where the
contour range is exceeded. In other words, there is generally far more agreement between the original objective function
Figure 3(a) and its quadratic approximations Figure 3(b) than there is between the transformed objective Figure 4(a) and
its quadratic approximations Figure 4(b). Since the traditional SQP algorithm has superior sub-problem representations,
Floudas[40] provides the following example for the design of a heat exchanger:
minimize 𝑥 1 + 𝑥2 + 𝑥 3
𝑥1 ,..., 𝑥8
833.33252𝑥4 100 83333.333
subject to + − ≤1
𝑥2 𝑥6 𝑥6 𝑥1 𝑥6
1250𝑥5 𝑥4 1250𝑥4
+ − ≤1
𝑥2 𝑥7 𝑥7 𝑥2 𝑥7
1250000 𝑥5 2500𝑥5 (23)
+ − ≤1
𝑥3 𝑥8 𝑥8 𝑥3 𝑥8
0.0025𝑥 4 + 0.0025𝑥6 ≤ 1
− 0.01𝑥5 + 0.01𝑥 8 ≤ 1
The problem has 5 signomial constraints, and only a single GP-compatible posynomial (the 4th constraint). In contrast
with the Rosenbrock Problem, which has signomials but little underlying log-convexity, the Floudas Problem does
indeed exhibit some degree of log-convexity. This underlying structure is apparent in the results presented in Figure 5(a)
as the LSQP modification achieves 100% success before reaching 20 iterations, while the SQP algorithms take twice as
15
1.0
Probability of Convergence 1.0
Probability of Convergence
0.8 0.8
0.6 0.6
0.4 0.4
0.2 Matlab SQP 0.2 Matlab SQP
SQP SQP
0.0 LSQP 0.0 LSQP
0 20 40 60 80 100 0 20 40 60 80 100
Number of Iterations Number of Iterations
(a) A Good Initial Guess (b) A Poor Initial Guess
Fig. 5 Probability of Convergence vs. Iteration Count for the Floudas Problem
Figure 5(b) is a more nuanced result. For the majority of trials where LSQP does converge, it converges in fewer
iterations. However 145 (14.5%) of the LSQP trials failed. These failures are a result of one or more of the constraints
violating the conditions 𝑔𝑖 (x 𝑘 ) > 0 and ℎ 𝑗 (x 𝑘 ) > 0, thus causing the log transformation to fail at one of the iterations.
A proposal to correct these failures in future work was proposed in Section V.A, but here that modification was not
implemented specifically to demonstrate this failure mode and can be corrected in future implementations.
Tables 2 and 3 provide a more detailed insight into the averages over all trials for the cases with good and poor
initial guesses. It is noteworthy that with a poor initial guess, the LSQP modification exhibited a 0.07% error in the
average objective value (Table 3), but this is still well within acceptable bounds.
Table 2 Results of Solving the Floudas Problem With a Good Initial Guess
On the whole, the Floudas problem is another win for LSQP, as significant computational savings is achieved by
implementing the log transformation. Work remains to be done in the robustness of the LSQP algorithm as presented
here (see Section V.A), but the successful exploitation of the underlying problem structure is clear.
16
Table 3 Results of Solving the Floudas Problem With a Poor Initial Guess
Kirschen[37] proposes a signomial program representing a low fidelity aircraft sizing, originally attributed to Ozturk.
This problem is an extension of one of the more simple cases proposed by Hoburg[18]. It is GP compatible with the
exception of a single fuel volume constraint, making it a non-convex Signomial Program. It has been reformulated here
minimize 𝑊 𝑓
𝑐𝑇 𝑡𝐷
subject to ≤1
𝑊𝑓
𝑅
≤1
𝑉𝑡
1 2
2 𝜌𝑉 𝑆𝐶 𝐷
≤1
𝐷
𝐴𝐶𝐷0 𝑘𝐶 𝑓 𝑆 𝑤𝑒𝑡 𝐶 𝐿2
+ + ≤1
𝑆𝐶𝐷 𝐶𝐷 𝑆 𝜋 𝐴𝑒𝐶𝐷
0.074𝑅𝑒 −0.02
≤1
𝐶𝑓
𝜇𝑅𝑒
√︁ ≤1
𝜌𝑉 𝑆/𝐴
1
𝑊0 𝑊𝑤 2𝑊 𝑓
1
+ 1
+ 1
≤1
2 2 2
2 𝜌𝑉 𝑆𝐶 𝐿 2 𝜌𝑉 𝑆𝐶 𝐿 2 𝜌𝑉 𝑆𝐶 𝐿
𝑊
1 2
≤1 (24)
2 𝜌𝑉𝑚𝑖𝑛 𝑆𝐶 𝐿𝑚𝑎𝑥
𝑊0 𝑊 𝑤 𝑊 𝑓
+ + ≤1
𝑊 𝑊 𝑊
𝑊 𝑤𝑠𝑢𝑟 𝑓 𝑊 𝑤𝑠𝑡𝑟 𝑐
+ ≤1
𝑊𝑤 𝑊𝑤
17
𝐶𝑊𝑤 ,1 𝑆
≤1
𝑊 𝑤𝑠𝑢𝑟 𝑓
3
√︃
𝑁𝑢𝑙𝑡 𝐴 2 (𝑊0 + 𝑉 𝑓 𝑓 𝑢𝑠𝑒 𝑔𝜌 𝑓 )𝑊 𝑆
𝐶𝑊𝑤 ,2 ≤1
𝑊 𝑤𝑠𝑡𝑟 𝑐 𝜏
𝑉𝑓
≤1
𝑉 𝑓𝑎𝑣 𝑎𝑖𝑙
𝑉 𝑓 𝑔𝜌 𝑓
=1
𝑊𝑓
Variables were also constrained to be greater than a small positive constant in order to assist in the construction of
sub-problems.
Kirschen showed an approximately 40% decrease in the number of iterations between the log transformed problem
and the original problem[37], but only considered a single initial guess that yielded an interpretable result. Table 4
confirms that result with a good initial guess. However the trials with poor initial guesses demonstrate a far more
1.0 1.0
Probability of Convergence
Probability of Convergence
0.8 0.8
0.6 0.6
0.4 0.4
0.2 Matlab SQP 0.2 Matlab SQP
SQP SQP
0.0 LSQP 0.0 LSQP
0 100 200 300 400 500 0 100 200 300 400 500
Number of Iterations Number of Iterations
(a) A Good Initial Guess (b) A Poor Initial Guess
Fig. 6 Probability of Convergence vs. Iteration Count for the Kirschen-Ozturk Problem
This test problem is the first one where notable error occurs in the average SQP objective value (greater than 0.1%).
While notable, these are not significant, with the exception being the Matlab SQP case with poor initial guesses where
the average error in the objective was 3.75%. To explain this discrepancy, consider the histogram of error in the objective,
Figure 7. It is apparent that despite the Matlab SQP claiming convergence, the much wider distribution of error implies
that the solution quality is not nearly as good as the other two algorithms. Notably, approximately 10% of trials had an
18
Table 4 Results of Solving the Kirschen-Ozturk Problem With a Good Initial Guess
Table 5 Results of Solving the Kirschen-Ozturk Problem With a Poor Initial Guess
19
100
Percentage of Converged Cases 100
It is also notable that none of the algorithms finds the true global optimum, which is apparent from the discrepancy
in the 𝑉 𝑓 𝑓 𝑢𝑠𝑒 variable. Either some local optimum is being reached, or the fact that some of these variables are so small
in magnitude means the termination criteria can be met without driving all the way to the true optimal value. However,
both the LSQP modification and the traditional SQP algorithm attain the same solution and so neither is considered to
This test problem is another clear win for the LSQP modification, and is perhaps the most significant result of this
work. The best result is shown in Figure 6(b): an aircraft design problem is solved with a 74% reduction in number of
iterations and with a 45% higher success rate when using the LSQP modification as opposed to traditional SQP.
In light of the evidence presented here, the question remains when LSQP should be used in place of SQP. First,
three tenants must hold true: variables are expected to be strictly positive, the objective function is expected to be
strictly positive, and constraints in LSQP standard form are expected to be strictly positive. If these tenants hold, then
LSQP should be considered. In the case of the Floudas problem, these tenants alone are sufficient to show a significant
improvement in the number of iterations required for convergence. But as was shown in the Rosenbrock Problem, these
tenants can hold true and still not imply log-convexity. Thus, one additional indicator for use of LSQP is a significant
percentage of GP-compatible constraints (monomials and posynomials). If GP compatible constraints are present in
large numbers, then some degree of log-convexity can be expected, and LSQP should be strongly considered.
20
VII. Conclusions
This work demonstrates that LSQP solves some engineering design problems faster than classical SQP, and is
capable of solving problems that are not solvable by classical SQP. Thus, LSQP is a new tool that both improves and
While previous research efforts in Geometric and Signomial Programming have exposed the log-convex structure
present in many engineering design problems, the adoption of these methodologies has been slow. To adopt a GP or SP
approach requires total commitment to a new process and a rewriting of existing models, a barrier too substantial for
most designers. LSQP provides a middle ground, enabling the exploitation of log-convexity while requiring no change
to existing processes or discarding of trusted black box models. As a result of the work done here, LSQP can be viewed
as a direct substitute for traditional SQP and the potential computational savings obtained from this simple switch are
significant.
Funding Sources
This material is based on research sponsored by the U.S. Air Force under agreement number FA8650-20-2-2002.
The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any
copyright notation thereon. The views and conclusions contained herein are those of the authors and should not be
interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the U.S. Air
Acknowledgments
The author would like to thank Bob Haimes and Mark Drela for their mentorship and support and for their notes on
this paper, the EnCAPS Technical Monitor Ryan Durscher, Philippe Kirschen who laid some of the foundation for this
work, Berk Ozturk who originally authored the fourth test problem, and Devon Jedamski for his review and comments.
The author also acknowledges the MIT SuperCloud and Lincoln Laboratory Supercomputing Center for providing
HPC, database, and consultation resources that have contributed to the research results reported within this paper.
References
[1] Boyd, S., Kim, S.-J., Vandenberghe, L., and Hassibi, A., “A Tutorial on Geometric Programming,” Optimization and Engineering,
[2] Clasen, R. J., “The solution of the chemical equilibrium programming problem with generalized benders decomposition,”
[3] Greenberg, H. J., “Mathematical programming models for environmental quality control,” Operations Research, Vol. 43, No. 4,
21
[4] Boyd, S. P., Kim, S.-J., Patil, D. D., and Horowitz, M. A., “Digital circuit optimization via geometric programming,” Operations
[5] Boyd, S. P., Lee, T. H., et al., “Optimal design of a CMOS op-amp via geometric programming,” IEEE Transactions on
Computer-aided design of integrated circuits and systems, Vol. 20, No. 1, 2001, pp. 1–21.
[6] Li, X., Gopalakrishnan, P., Xu, Y., and Pileggi, T., “Robust analog/RF circuit design with projection-based posynomial
modeling,” IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004., IEEE, 2004, pp. 855–862.
[7] Xu, Y., Pileggi, L. T., and Boyd, S. P., “ORACLE: optimization with recourse of analog circuits including layout extraction,”
Proceedings of the 41st annual Design Automation Conference, 2004, pp. 151–154.
[8] Jabr, R. A., “Application of geometric programming to transformer design,” IEEE Transactions on Magnetics, Vol. 41, No. 11,
[9] Chiang, M., Geometric programming for communication systems, Now Publishers Inc, 2005.
[10] Chiang, M., Tan, C. W., Palomar, D. P., O’neill, D., and Julian, D., “Power control by geometric programming,” IEEE
[11] Kandukuri, S., and Boyd, S., “Optimal power control in interference-limited fading wireless channels with outage-probability
specifications,” IEEE transactions on wireless communications, Vol. 1, No. 1, 2002, pp. 46–55.
[12] Marin-Sanguino, A., Voit, E. O., Gonzalez-Alcon, C., and Torres, N. V., “Optimization of biotechnological systems through
geometric programming,” Theoretical Biology and Medical Modelling, Vol. 4, No. 1, 2007, p. 38.
[13] Vera, J., González-Alcón, C., Marín-Sanguino, A., and Torres, N., “Optimization of biochemical systems through mathematical
programming: Methods and applications,” Computers & Operations Research, Vol. 37, No. 8, 2010, pp. 1427–1438.
[14] Preciado, V. M., Zargham, M., Enyioha, C., Jadbabaie, A., and Pappas, G., “Optimal resource allocation for network protection:
A geometric programming approach,” IEEE Transactions on Control of Network Systems, Vol. 1, No. 1, 2014, pp. 99–108.
[15] Misra, S., Fisher, M. W., Backhaus, S., Bent, R., Chertkov, M., and Pan, F., “Optimal compression in natural gas networks: A
geometric programming approach,” IEEE transactions on control of network systems, Vol. 2, No. 1, 2014, pp. 47–56.
[16] Sela Perelman, L., and Amin, S., “Control of tree water networks: A geometric programming approach,” Water Resources
[17] Agrawal, A., Diamond, S., and Boyd, S., “Disciplined geometric programming,” Optimization Letters, Vol. 13, No. 5, 2019, pp.
961–976.
[18] Hoburg, W., and Abbeel, P., “Geometric Programming for Aircraft Design Optimization,” AIAA Journal, Vol. 52, No. 11, 2014,
pp. 2414–2426.
22
[19] Torenbeek, E., Advanced Aircraft Design: Conceptual Design, Analysis and Optimization of Subsonic Civil Airplanes, 2nd ed.,
[20] Hoburg, W., and Abbeel, P., “Fast Wind Turbine Design via Geometric Programming,” 54th AIAA/ASME/ASCE/AHS/ASC
[21] Kirschen, P. G., Burnell, E. E., and Hoburg, W. W., “Signomial Programming Models for Aircraft Design,” 54th AIAA Aerospace
[22] Brown, A., and Harris, W., “A vehicle design and optimization model for on-demand aviation,” 2018 AIAA/ASCE/AHS/ASC
[23] York, M. A., Öztürk, B., Burnell, E., and Hoburg, W. W., “Efficient Aircraft Multidisciplinary Design Optimization and
Sensitivity Analysis via Signomial Programming,” AIAA Journal, Vol. 56, No. 11, 2018, pp. 4546–4561.
[24] Burton, M., and Hoburg, W., “Solar and gas powered long-endurance unmanned aircraft sizing via geometric programming,”
[25] Lin, B., Carpenter, M., and de Weck, O., “Simultaneous Vehicle and Trajectory Design using Convex Optimization,” AIAA
[26] Kirschen, P. G., York, M. A., Ozturk, B., and Hoburg, W. W., “Application of Signomial Programming to Aircraft Design,”
[27] York, M. A., Hoburg, W. W., and Drela, M., “Turbofan engine sizing and tradeoff analysis via signomial programming,” Journal
[28] Saab, A., Burnell, E., and Hoburg, W. W., “Robust Designs via Geometric Programming,” arXiv, 2018.
[29] Hall, D. K., Dowdle, A., Gonzalez, J., Trollinger, L., and Thalheimer, W., “Assessment of a boundary layer ingesting turboelectric
aircraft configuration using signomial programming,” 2018 Aviation Technology, Integration, and Operations Conference,
2018, p. 3973.
[30] Martins, J. R., and Lambe, A. B., “Multidisciplinary Design Optimization: A Survey of Architectures,” AIAA Journal, Vol. 51,
[31] Wakayama, S., “Multidisciplinary Design Optimization of the Blended-Wing-Body,” AIAA Paper AIAA-98-4938, 1998.
[32] Kroo, I., and Takai, M., “A Quasi-Procedural, Knowledge-Based System for Aircraft Design,” AIAA Paper AIAA-88-6502, 1988.
[33] Boggs, P. T., and Tolle, J. W., “Sequential Quadratic Programming,” Acta Numerica, Vol. 4, 1996, pp. 1–51.
[34] Nocedal, J., and Wright, S., Numerical Optimization, Springer Science & Business Media, 2006.
[35] Kraft, D., “A software package for sequential quadratic programming,” 1988.
23
[36] Andersen, M. S., Dahl, J., and Vandenberghe, L., “CVXOPT: A Python package for convex optimization,” 2013.
[37] Kirschen, P. G., and Hoburg, W. W., “The power of log transformation: A comparison of geometric and signomial programming
with general nonlinear programming techniques for aircraft design optimization,” 2018 AIAA/ASCE/AHS/ASC Structures,
[39] Reuther, A., Kepner, J., Byun, C., Samsi, S., Arcand, W., Bestor, D., Bergeron, B., Gadepally, V., Houle, M., Hubbell, M., et al.,
“Interactive supercomputing on 40,000 cores for machine learning and data analysis,” 2018 IEEE High Performance extreme
[40] Floudas, C. A., Pardalos, P. M., Adjiman, C., Esposito, W. R., Gümüs, Z. H., Harding, S. T., Klepeis, J. L., Meyer, C. A., and
Schweiger, C. A., Handbook of test problems in local and global optimization, Vol. 33, Springer Science & Business Media,
2013.
24