XVI.  Benchmark Study of Large NLP Optimization Software

 

Table of Contents

 

XVI.1. Introduction.. 2

XVI .1.1. Introduction and Objective.. 2

XVI .1.2. General Nonlinear Programming (NLP) Problems. 2

XVI.1.3. Overview of the Report.. 3

XVI.2. Software requirements. 4

XVI.2.1 Introduction.. 4

XVI.2.2 Requirements for Real Time Optimization.. 4

XVI.2.3 Discussion.. 4

XVI.3. AVAILABLE GRADIENT BASED optimization ENgines. 5

XVI.3.1  Introduction.. 5

XVI.3.2  List of Software and Comparison.. 5

XVI.3.3.  Summary.. 6

XVI.4. benchmark WITh Large-scale AnD sparse problem... 7

XVI.4.1. Introduction.. 7

XVI.4.2. VSR Examples. 7

XVI.4.3.  Large-scale Structural Optimization Examples. 7

XVI.4.4.  Summary.. 9

XVI.5. benchmark with small–scale Dense problem... 10

XVI.5.1.   Introduction.. 10

XVI.5.2.  Posture prediction.. 10

XVI.5.2.1. Kinematical human model 10

XVI.5.2.2. Optimization formulation. 11

XVI.5.2.3. The gradient calculation of performance measures. 11

XVI.5.3. Test results. 12

XVI.5.4.  Summary.. 13

XVI.6. Discussion and Conclusions. 14

REFERENCES. 15


.1. Introduction

 

XVI .1.1. Introduction and Objective

 

Human posture and motion simulation is traditionally a very complex and difficult problem. Various approaches and numerical algorithms for implementing task based posture prediction using multi-objective optimization algorithms have been studied.  Although success has been achieved, the research is limited to a 15 DOF upper body human model and is based purely on kinematics.

 

In order to simulate virtual soldiers more realistically, dynamic formulation is needed. Also the whole human body which includes more DOF needs to be considered in the simulation. They certainly increase the size of the optimization problems for both the posture and motion prediction problems. Real time optimization algorithms and software are needed in the project to obtain the best solutions very rapidly. In this report, the requirements for real time optimization are discussed. Since the computational efficiency is vital to the Virtual Soldier Research program, large-scale optimization packages are reviewed and compared. Their features are studied based on the requirements of various types of problems to be solved related to the digital human motion. Some numerical tests have also been performed. Based on this study two optimization algorithms and associated software are selected for the VSR project.

 

The objectives of this research are listed as follows:

1.          To review the requirements of teal time optimization and software.

2.          To study and compare the available NLP software through previous research.

3.          To evaluate various NLP software through numerical experiments.

4.           Recommendations are made for the VSR project.

In this study, some numerical test has been done to evaluate alternate formulations and large-scale optimization codes, which may be used in the VSR project. Some large-scale NLP codes have been tested and evaluated for both VSR examples and large-scale structural optimization examples. Sparse SQP solvers- SNOPT and SOCS are recommended.

 

 

XVI .1.2. General Nonlinear Programming (NLP) Problems

 

A general NLP optimization problem is to find design variable vector , to minimize a cost function 

                                                                           (1.2.1)

which may be a cost function, or any other function. Design requirements are imposed mostly as equality and inequality constraints, as follows

 

                                                                            (1.2.2)

                                                                             (1.2.3)

The explicit bounds on the design variables  are

                                                                 (1.2.4)

where  and  are the lower and upper bounds for the design variables, respectively. In a typical Mathematical Programming (MP) implementation, finding the optimum solution x* involves repetitive application of the search algorithm as:

                                                           (1.2.5)

where  and  are the design variable vectors in and v cycles of iteration. The quantities  and  represent the direction of travel vector and the step size, respectively. Once an initial vector  is selected, the rest of the task involves two basic steps:

 

1.          Determination of direction vector S.

2.          Determination of appropriate step size .

 

It can be seen that the MP method searches the optimal solution from point to point in the design space and it provides an improvement of the objective function in each design iteration. Different NLP optimization methods have different ways to determine the appropriate travel directions and step sizes, which determines the computational features of the methods.

 

XVI.1.3. Overview of the Report

 

In Chapter 2, some requirements for real time optimization and optimization software are discussed. A comparative study is performed in Chapter 3. A list of available large-scale NLP codes is reviewed and their features are compared. Advantages and disadvantages of these codes are described. Some numerical study is done in Chapter 4. These include some numerical examples for the VSR project, and some for testing of large-scale design problems. Chapter 5 includes discussion and conclusions. Recommendations are made from this research.


 

XVI.2. Software requirements

 

XVI.2.1 Introduction

 

Real time optimization has higher requirements for optimization formulation and implementation. Since multi-objective optimization plays an important role in the posture and motion prediction of virtual soldiers, research is needed for good formulation and implementation of optimization algorithms. In this chapter, some requirements for real time optimization and optimization codes are discussed. This provides a guideline for the choice and testing of NLP codes in the next chapter.

 

XVI.2.2 Requirements for Real Time Optimization

 

Following are some major characteristics of the real-time optimization in the VSR project: 

 

1.   It must be efficient and fast. In order to meet the requirements for real-time on-line applications, the optimization algorithms must be efficient, especially for large problems. When alternate formulations are considered, sparse capacity and treatment of large number of equality constraints become important.

2.   It must be robust. In a software environment, an optimization package needs to be able to solve most, if not all of the problems. Therefore, in stead of solving special problems, the algorithm used in the optimization codes should be robust to solve very general problems.

3.   It needs good formulations. Alternate formulations, which are explicit in terms of optimization variables, may in general reduce the computational efforts and enhance the accuracy of the results. Finite difference approximations are not affordable for large-scale applications, in terms of computational efforts and efficiency.

4.   It should have features to solve large-scale problems. When the full human model is considered and dynamics is included in the formulation, the optimization problem itself will become very large. Sparsity is also very important, because the problem is in fact sparse.

 

Other concerns are also needed when a particular optimization package is considered. For example, in the VSR optimization problems, it is hard to obtain second order derivative information. Therefore, optimization packages that require second order derivative information are not preferred in the project.

 

XVI.2.3 Discussion

 

The general requirements for real time optimization discussed in Section (2.2) will be used as a general guideline for the choice and numerical test of NLP codes in later chapters.


 

 

XVI.3. AVAILABLE GRADIENT BASED optimization ENgines

 

XVI.3.1  Introduction

 

In this chapter, some available large-scale NLP codes are reviewed and compared. Some of these codes will be tested for the VSR project in the next chapter.

 

XVI.3.2  List of Software and Comparison

 

Real-time full-size virtual soldier optimization features large-scale optimization with a large number of variables and constraints. Besides this sparse matrices capacity and efficient treatment of large number of equality constraints become important criteria to choose optimization codes. The following is a list of currently available codes for large-scale optimization: BIGDOT (Vanderplaats 2000), IPOPT, LOQO (Vanderbei 2000), KNITRO (Byrd et al. 1997), MINOS (Murtagh and Saunders 1983), SNOPT (Gill et al. 2002), LANCELOT (Conn et al. 1992), CONOPT (Drud 1992), NLPSPR, SPRNLP in SOCS (Betts and Frank 1994), BARNLP in SOCS (Betts and Frank 1994), PENNON (Kocvara and Stingl 2003).

 

Table 3.1 A list of available large-scale NLP codes 

Name/

Current Version

Author

Algorithm

Characteristics

Note

BIGDOT / 1.0

G. N. Vanderplaats, VR&D

SUMT –using an Exterior Penalty Function. Sub-problem - the Fletcher-Reeves method

Need little memory. The cost of the optimization is almost completely the cost of analysis and gradient evaluations.

Requires 3-5 times as many function evaluations to converge

IPOPT / 2.0.1

A.Wächter

Carnegie Mellon University

A primal-dual interior point algorithm, w line search

Can employ second derivative information, if available, or otherwise approximate it by means of a quasi-Newton approach (BFGS and SR1).

Not fully completed. Need BLAS, LAPACK, and Harwell Subroutine Library

LOQO /

6.06

R. Vanderbei

Princeton University

A primal-dual interior-point method, w line search

LOQO works best with a sparse problem

Need second-order information

KNITRO / 3.1

R. A. Waltz and J. Nocedal

Northwestern University

Interior point method. Using SQP and trust regions

offers quasi-Newton and finite difference options that approximate the second derivatives of the model

The evaluation of second derivatives is optional

MINOS / 5.5

B. A. Murtagh and M. A. Saunders

Stanford University

A reduced-gradient method or a projected Lagrangian method

Need first-order information

Efficiency: the number of active constraints (including simple bounds) is nearly as large as the number of variables.

SNOPT / 6.0

P. Gill (UCSD)

W. Murray and M. A. Saunders

Stanford University

A sparse SQP algorithm with limited-memory quasi-Newton approximations

Line search needed. Need first-order information

Efficiency: the number of active constraints (including simple bounds) is nearly as large as the number of variables.

LANCELOT

A.R.Conn, N.I.M Gould and Ph. L.Toint

UK

An augmented Lagrangian approach to handle all constraints other than simple bounds.

Emphasis on problems which are significantly nonlinear, that involves a large number of nonlinear equality constraints.

Need second-order information

CONOPT / 3.10

A. S. Drud
ARKI Consulting and Development A/S, Denmark

Generalized reduced gradient (GRG)

CONOPT is well suited for models with very non-linear constraints. Sparse matrix techniques. Efficient for models with few DOFs.

2nd derivatives are needed in some components of CONOPT

NLPSPR

 J. T. Betts and
 P. D. Frank
The Boeing  Company

A SQP algorithm that uses an augmented Lagrangian merit function and a sparse quadratic programming algorithm

Sparse linear systems are solved efficiently. The user must supply the sparse Jacobian and Hessian matrices

uses BLAS and LINPACK

SPRNLP in SOCS

 J. T. Betts,
 P. D. Frank and

 D. Keeler
The Boeing Company

A SQP algorithm for sparse nonlinear programming problems

Sparse Linear Algebra. Arbitrary Jacobian and Hessian Sparsity - Not restricted to block diagonal or other special form.

No Restriction on Degrees of Freedom

BARNLP in SOCS

 J. T. Betts,
 P. D. Frank and

 D. Keeler
The Boeing Company

A sparse primal-dual interior point algorithm

Sparse Linear Algebra. Arbitrary Jacobian and Hessian Sparsity - Not restricted to block diagonal or other special form.

No Restriction on Degrees of Freedom

PENNON

/ 1.3

M. Kocvara and M. Stingl, University of Erlangen-Nuremberg

Germany

a generalized version of the Augmented Lagrangian method

Aimed at (very) large scale problems. efficient treatment of different sparsity patterns in problem data

Developer’s license is free

 

 

XVI.3.3.  Summary

 

Certainly these codes use different optimization algorithms. MINOS uses a reduced-gradient method or a projected Lagrangian method and is most efficient for linear programming (LP) or linear-constrained NLP problems. Numerical tests have shown that MINOS is not very efficient for large nonlinear problem. From the requirements of the project and experience of past research, sequential quadratic programming (SQP) and interior point method (IP) are finally determined to chosen as test methods. SNOPT (SQP), KNITRO (IP) are focused on to test large-scale numerical examples.

 

 

 


 

XVI.4. benchmark WITh Large-scale AnD sparse problem

 

XVI.4.1. Introduction

 

In this chapter, some optimization codes are tested with the VSR examples or large-scale sparse structural design problems. Results are compared and the performance of the codes is discussed. Recommendations are given.

 

XVI.4.2. VSR Examples

 

The key computational kernels of the SOCS library are the sparse nonlinear programming algorithms SPRNLP and BARNLP. For optimal control applications SPRNLP and BARNLP are fully integrated with the SOCS software and are transparent to the control practitioner. However, it is also possible to use SPRNLP and BARNLP independently for applications other than optimal control. The SPRNLP software implements a state-of-the-art sequential quadratic programming (SQP) method, using an augmented Lagrangian merit function and safeguarded line search. SPRNLP can accommodate nonlinear equality and inequality constraints, as well as simple bounds. The BARNLP software implements a sparse primal-dual interior point algorithm, in conjunction with a filter method for globalization. The outstanding performance of the software in benchmark tests has been documented. The package supports four different levels of functionality.

 

XVI.4.3.  Large-scale Structural Optimization Examples

 

In order to test the performance of the optimization codes for large-scale problems, several large truss structures have been optimized. This is done with three alternate formulations. A Dell PC with 512 Mb memory and windows 2000 loaded is used for running the programs. SNOPT and KNITRO are used to solve the problems.

 

SNOPT uses a sequential quadratic programming (SQP) algorithm that calculates the search directions by solving a quadratic programming (QP) subproblem. Each QP subproblem minimizes a quadratic model of the Lagrangian function subject to linearized constraints. An augmented Lagrangian merit function is reduced along the search direction to ensure convergence from any starting point. To treat problems where the number of nonlinear variables is very large, SNOPT uses a limited-memory procedure to update an initial Hessian approximation a limited number of times. The method of SNOPT exploits sparsity in the constraint Jacobian and maintains a limited-memory quasi-Newton approximation for the Hessian of the Lagrangian. The QP subproblems are solved using an reduced-Hessian active-set method that allows for variables appearing linearly in the objective and constraint functions. (The limited-memory Hessian is then semi-definite.)

 

KNITRO implements an interior point method for nonlinear programming. The nonlinear programming problem is replaced by a series of barrier sub-problems controlled by a barrier parameter. The algorithm uses trust regions and a merit function to promote convergence. Each step is a sum of two components: (i) a normal step whose objective is to improve feasibility; and (ii) a tangential step that aims toward optimality. The tangential step is computed using a projected conjugate gradient iteration. KNITRO does not compute each step by solving a linear algebraic system involving the KKT matrix. Instead, it factors (using MA27 subroutines) a projection matrix, and uses the conjugate gradient method to approximately minimize a quadratic model of the barrier problem. To further promote a fast solution, the linear algebra within KNITRO takes into account the possibly sparse structure of the problems to be solved. KNITRO is recommended for optimal control, parameter identification or economic optimization problems, all with or without constraints.

 

XVI.4.3.1  Examples

 

The two large-scale examples tested here are a 200-bar plane truss (Haug and Arora 1979) and a 35-story space truss tower consisting of 1262 elements and 324 nodes (Adeli and Cheng 1994).

 

XVI.4.3.2  Evaluation

 

Table 4.1 shows the comparison of sizes for four different formulations for the two design examples. The largest problem solved includes 8864 optimization variables and 18888 constraints. The alternate formulations involve a lot more variables and constraints than the conventional one, as one can expect. Table 4.2 lists the estimated numbers of non-zero elements that need to be stored in SNOPT. It is clear that the Jacobians of the constraint functions in the alternate formulations are quite sparse. The sparsity of matrices needs to be utilized to solve large-scale design problems efficiently. If the sparsity of matrices is not considered, it is quite probable that a normal PC does not have enough memory storage for the algorithm. It is interesting to note that the conventional formulation actually requires more storage as compared to the alternate formulations.

All the formulations worked well and converged to the same optimal solutions for the two design examples, as shown in Table 4.3. These solutions are obtained from SNOPT. Unfortunately, KNITRO is unable to get solutions for most of the problems in 2000 iterations. Table 4.4 lists all the numbers of iterations needed to solve the example problems. It can be seen that reasonable numbers of iterations are used by SNOPT. Therefore, for the design examples and formulations used here, KNITRO is not as efficient as SNOPT. SNOPT is finally recommended to the VSR project.

 

Table 4.1 Number of variables and behavior constraints for different formulations 

Example Problem

Formulation

Conv.

Alt. 1

Alt. 2

Alt. 3

No. of Vars./No. of Cons.

200-bar

Case 1

96/1050

546/1050

1146/2250

1146/1050

Case 2

96/600

546/1050

1146/2250

1146/1050

35-story

Case 1

72/2198

1008/2198

2270/4722

2270/2198

Case 2

72/8792

3816/8792

8864/18888

8864/8792

 


 

 

Table 4.2 Numbers of non-zero Jacobian elements for design examples 

Example Problem

Formulation

Conv.

Alt. 1

Alt. 2

Alt. 3

With Sparsity

[Without Sparsity]

200-bar

Case 1

1.0´105

[1.0´105]

1.4´104

[5.7´105]