• Nenhum resultado encontrado

Algorithm 774: Fortran Subroutines for Generating Box-Constrained Optimization Problems

N/A
N/A
Protected

Academic year: 2021

Share "Algorithm 774: Fortran Subroutines for Generating Box-Constrained Optimization Problems"

Copied!
3
0
0

Texto

(1)

Algorithm 774: Fortran Subroutines for Generating Box-Constrained Optimization Problems

FRANCISCO FACCHINEI

Università di Roma “La Sapienza”

and

JOAQUIM JÚDICE and JOÃO SOARES Universidade de Coimbra

We describe a set of Fortran routines for generating box-constrained nonlinear programming test problems. The technique, as described by Facchinei et al. (this issue), allows the user to control relevant properties of the generated problems.

Categories and Subject Descriptors: D.3.2 [Programming Languages]: Language Classifica- tions—Fortran 77; G.1.6 [Numerical Analysis]: Optimization; G.4 [Mathematics of Com- puting]: Mathematical Software—algorithm analysis;certification and testing

General Terms: Algorithms, Performance, Verification

Additional Key Words and Phrases: Nonlinear programming test problems, optimization, test problems generation

1. INTRODUCTION

We present a set of Fortran subroutines for generating box-constrained optimization problems. The technique is a particular instance of that described in Facchinei et al. [1997] and is well suited to large-scale problems. Hopefully, this set of routines will allow researchers to more easily test and compare solution methods for box-constrained optimization with respect to particular problem characteristics. With this in mind, we have developed a flexible code which can be easily linked to most of the existing codes for box-constrained optimization.

Authors’ addresses: F. Facchinei, Dipartimento di Informatica e Sistemistica, Università di Roma “La Sapienza”, Rome, Italy; J. Júdice and J. Soares, Departamento de Matemática, Universidade de Coimbra, Coimbra, 3000, Portugal.

Permission to make digital / hard copy of part or all of this work for personal or classroom use is granted without fee provided that the copies are not made or distributed for profit or commercial advantage, the copyright notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and / or a fee.

© 1997 ACM 0098-3500/97/0900 –0448 $5.00

ACM Transactions on Mathematical Software, Vol. 23, No. 3, September 1997, Pages 448 –450.

(2)

2. IMPLEMENTATION AND DESIGN

The subroutines have been implemented in ANSI Standard Fortran 77. The user will employ the following routines:

(1) subroutine BCP01: sets the bounds and the data required to evaluate the objective function f and its derivatives.

(2) subroutineBCP02: prints an error message on the screen.

(3) subroutine BCP03: prints information concerning the problem gener- ated.

(4) subroutine BCP10: computes the objective function f at a given point x.

(5) subroutine BCP11: computes the gradient vector of the objective func- tion f at a given point x.

(6) subroutineBCP12: computes the product of the Hessian at a given point x by a vector d.

The box-constrained problem is generated by a call to subroutine BCP01, where the user determines the characteristics of the problem generated through the choice of various parameters. However, the exact definition of the problem also depends on some random choices. For example, the user can determine exactly the number of lower bounds and the number of those that are active at the solution, but their placement is determined ran- domly. The random-number generator described in Schrage [1979] is in- cluded for completeness.

On exit fromBCP01, if a flag variableINFRMis not zero then (1) an error has occurred and (2) the box-constrained problem has not been generated.

The user may get an appropriate error message by calling subroutine BCP02.

If the problem has been successfully generated (INFRM5 0), the user has access to the vectors L and U containing the lower and upper bounds.

Additional information may be obtained through a call toBCP03. Subrou- tinesBCP10,BCP11, andBCP12provide the value of the generated problem objective function and its derivatives.

The generation of the box-constrained problem is based on an underlying unconstrained problem with objective function g. The data concerning the unconstrained problem must be provided by the user via four Fortran subroutines:

SUBROUTINE FUNCTG(N,X,G) SUBROUTINE GRADG(N,X,GG) SUBROUTINE HESGD(N,X,D,HGD) SUBROUTINE SOLUG(N,XBAR)

SubroutineFUNCTG gives the value of the function g at a given point x;

GRADG gives the gradient of g; and HESSGD performs the product of the Algorithm 774 449

ACM Transactions on Mathematical Software, Vol. 23, No. 3, September 1997.

(3)

Hessian of g with a given vector. Finally, subroutine SOLUG provides a solution of the unconstrained problem.

A README file that accompanies the software provides a more detailed description of all the routines and parameters. The code has been compiled on a SUN SPARC 10, an IBM RS/6000, and an HP Model 712/60. We provide the corresponding makefiles.

REFERENCES

FACCHINEI, F., JÚDICE, J., AND SOARES, J. 1997. Generating box-constrained optimization problems. ACM Trans. Math. Softw. 23, 3 (Sept.). This issue.

SCHRAGE, L. 1979. A more portable Fortran random number generator. ACM Trans. Math.

Softw. 5, 2, 132–138.

Received: September 1995; revised: October 1996; accepted: February 1997 450 Francisco Facchinei et al.

ACM Transactions on Mathematical Software, Vol. 23, No. 3, September 1997.

Referências

Documentos relacionados

In this section we present a new derivative-free algorithm to solve nonlinear constrained problems, like the Audet and Dennis method, that combines the features of a derivative

The purpose of this work is to present an algorithm to solve nonlinear constrained optimization problems, using the filter method with the inexact restoration (IR) approach.. In the

Alterna- tively, a text editor can be used to make a single-precision version of the suite by appending a FORTRAN comment character to the start of all lines between the

Com relação às séries funcionalizadas com TEOS, quando as fibras não são submetidas a nenhum tratamento, como nos casos “-N -C”, houve perda de resistência para todas

Por mais se nos agigante a inteligência, até agora não conseguimos explicar, em toda a sua harmoniosa complexidade, o milagre do cérebro, com o coeficiente de bilhões de

própria ética – no que ela dependa das tecnologias de si (FOUCAULT, 1988) – é tocada, em nosso tempo, pela essência da técnica moderna, desvelando -se

- em entrevista para Gustavo Lassala e Abilio Guerra, pela ‘Vitruvius’ - “{. } o “pixo” questiona de uma forma pacífica, porque existe um conflito simbólico através