 by function value and gradient information evaluated at the previous iterate. Several variants of, and extensions to, the original MMA algorithm have been developed during the last decades, e.g. see Borrval and Petersson (2001), Bruyneel et al. (2002) and Zillober (2002). Various approaches for enforcing global convergence have also been proposed. These include line search variants of MMA (Zillober 1993), and MMA cast in a framework of variable conservatism (Svanberg 2002). Despite the risk of divergence, the simple 'always accept' strategy is nevertheless frequently adopted and found to be effective and efficient in many a structural optimization application (Groenwold and Etman 2010a).

Diagonal QP subproblems for SCP
The SCP class of algorithms based on convex separable nonlinear approximations has become very popular in largescale structural optimization, and in topology optimization in particular. In structural topology optimization, SCP methods are almost exclusively used, in particular when optimality criteria update formulas do not apply. SQP type of methods are far less frequently used, due to the high dimensionality of many structural optimization problems.
We now show how an SQP type method can be developed from the SCP class of methods by means of the approximated approximations concept presented in Groenwold et al. (2010).

Diagonal quadratic function approximations
We depart with the diagonal quadratic Taylor approximationsf j to some objective and/or constraint function f j, given bỹ but with the c {k} 2i j approximate second order diagonal Hessian terms or curvatures. We neglect the off-diagonal Hessian terms. So, our departing point is a separable form of the sequential all-quadratic programming method, in which quadratic approximations are simultaneously used for all constraint functions (Svanberg 1993;Zhang and Fleury 1997;Fleury and Zhang 2000).
Since we assume that the user only provides function value and gradient information, the second order coefficients c {k} 2i j are to be estimated in some manner. To guarantee strictly convex forms of the approximate subproblems, we may, for example, enforce We estimate the approximate second order curvatures c {k} 2i j by building a Taylor series expansion to the nonlinear intervening variables based approximations used in the SCP methods. If we start from first-order expansion (6), we obtain To illustrate: for the popular reciprocal intervening variables e.g. see Zhang and Fleury (1997) and Bruyneel et al. (2002). In other words: using the approximate curvatures (15) in (12) implies that (12) becomes the quadratic approximation to the reciprocal approximation in the point x {k} (Haftka 2007, personal communication). For many a structural optimization problem, it seems to be advantageous to replace (15) by which yields a more conservative approximation than the combination of (15) with (13) for positive gradients. For other diagonal quadratic approximations to a number of different well known nonlinear approximations, including the exponential, CONLIN, MMA and TANA approximations, see Groenwold et al. (2010).

Approximate subproblem in dual form
Given primal approximate optimization subproblem (4), with the approximate functionsf j, j = 0, 1,..., m given by the (convex) diagonal quadratic approximations (12), the approximate dual subproblem with the primal-dual relationship between variables x i, i = 1, 2,..., n and λ j, j = 1, 2,..., m, given by and For details, the reader is referred to our previous efforts (Groenwold and Etman 2008). A globally convergent algorithm may be obtained by casting dual subproblems P D [k] in a framework of variable conservatism, or in a trust region framework, see Groenwold et al. (2009) and Groenwold and Etman (2010a).

Approximate subproblem in QP form
Since the approximations (12) are (diagonal) quadratic, the subproblems are easily transformed into a quadratic program P Q P [k], written as Using the diagonal quadratic objective function and constraint function approximationsf j, j = 0, 1,..., m, the approximate Lagrangian L {k} equals with and Q il = 0 ∀ i = l, i, l = 1, 2,..., n. The Lagrange multiplier values λ {k} j follow from the multiplier estimates due to the solution of the QP subproblem at the previous iterate x {k−1}. This approach is very similar to the well-known SQP method discussed in in Section 3; the fundamental difference being the way the Hessian matrix of the Lagrangian function is determined. Instead of using the exact or approximate quasi-Newton Hessian matrices commonly used in classical SQP algorithms, we use only approximate diagonal terms, estimated from suitable intervening variable expressions for the objective function and all the constraints. As we did for the dual subproblems, we again apply convexity conditions (13), to arrive at a strictly convex QP subproblem with a unique minimizer.
The quadratic programming problem requires the determination of the n unknowns x i, subject to m linear inequality constraints and the trust region bounds. Efficient QP solvers can typically solve problems with very large numbers of design variables n and constraints m. Obviously, it is imperative that the diagonal structure of Q is exploited when the QP subproblems are solved.
To arrive at a globally convergent algorithm, the use of trust regions in SQP algorithms is of course well known, e.g. see Nocedal and Wright (2006), Conn et al. (2000), and many others.

Numerical example
We now illustrate the QP-based SCP approach as proposed in Section 5.3 using a numerical example, and compare this method with the dual SCP method presented in Section 5.2. We use the quadratic approximation to the reciprocal approximation (16) for the objective function and all the constraints, which allows for the unconditional acceptance of the iterates; convergence is obtained without the use of a global convergence strategy.
We consider the optimal sizing design of the tip-loaded multi-segmented cantilever beam proposed by Vanderplaats (1984Vanderplaats (, 2004. The beam is of fixed length l, is divided into p segments, and is subject to geometric, stress and a single displacement constraint. The geometry has been chosen such that a very large number of the constraints are active or 'near-active' at the optimum (Fig. 1).
The objective function is formulated in terms of the design variables b i and h i as with l i constant for given p. We enforce the bound constraints 1.0 ≤ b i ≤ 80, and 5.0 ≤ h i ≤ 80 (the upper bounds were arbitrarily chosen; they are needed to allow for the notion of a'move limit'). The stress constraints are while the linear geometric constraints are written as The tip displacement constraint is The constraints are rather easily written in terms of the design variables b and h, e.g. see Vanderplaats (1984). Note that the constraints are normalized; this is sound practice in primal algorithms. However, this may not be desirable  in algorithms based purely on dual statements. We therefore scale the last constraint by 10 3 (to have all the dual variables of roughly the same order; this is easily determined for the problems of low dimensionality). Using consistent units, the geometric and problem data are as follows (Vanderplaats 1984): we use a tip load of P = 50,000, a modulus of elasticity E = 2 × 10 7, a beam length l = 500, whileσ = 14,000, andū = 2.5. The starting point is b i = 5.0 and h i = 60 for all i.
We consider two cases of the Vanderplaats' beam problem: the original problem with tip displacement constraint and the problem without tip displacement constraint. The problems are both expressed in terms of n = 2 p design variables; the number of constraints m may be found in the results tables.
We present computational results for two rudimentary SCP algorithms, denoted dual-SCP and QP-SCP, respectively. Algorithm dual-SCP implements dual subproblems (17), the dual subproblems are solved using the limited memory bound constrained L-BFGS-B solver (Zhu et al. 1994). Algorithm QP-SCP implements QP subproblem (20), this time we use the diagonal Galahad LSQP solver (Gould et al. 2004) to solve the QP subproblems. In the case of an infeasible subproblem the solver finds a subproblem solution with minimum constraint violation while respecting the imposed move limits. For both dual-SCP and QP-SCP we have used a 20% move limit (with respect tô x i −x i ) throughout (but it often is advantageous for QP Computational effort for QP-SCP (m = n + 1) problems to not do so). We terminate the iterations when The algorithms are considered to have failed when the CPU time exceeds 5,000 s.
The numerical results for dual-SCP and QP-SCP are presented in Tables 1, 2, 3 and 4, for p ranging from 5 to 5 · 10 5. Each line in the tables represents the outcome of one optimization run. We have used compressed sparse row (CSR) data representation. We define h = max{ f j }, j = 1, 2,..., m; h * is the same at optimality, while l * and u * respectively indicate the number of design variables on the lower and upper bounds at the solution x *. k * denotes the required number of iterations