INFORMS Journal on Computing Vol. 16, No. 3, Summer 2004, pp. 255–265 issn 0899-1499 eissn 1526-5528 04 1603 0255 inf orms ® doi 10.1287/ijoc.1030.0046 ©2004 INFORMS The Constraint Consensus Method for Finding Approximately Feasible Points in Nonlinear Programs John W. Chinneck Department of Systems and Computer Engineering, Carleton University, Ottawa, Ontario, K1S 5B6, Canada, chinneck@sce.carleton.ca T his paper develops a method for moving quickly and cheaply from an arbitrary initial point at an extreme distance from the feasible region to a point that is relatively near the feasible region of a nonlinearly con- strained model. The method is a variant of a projection algorithm that is shown to be robust, even in the presence of nonconvex constraints and infeasibility. Empirical results are presented. Key words : nonlinear programming; feasibility; approximate algorithms History : Accepted by W. David Kelton; received October 2002; revised May 2003; accepted June 2003. 1. Introduction There are numerous nonlinear-programming applica- tions in which it is necessary to move very quickly fromaninitialpoint,oftenveryfarfromfeasibility,to a final point that is approximately feasible for a set of nonlinear constraints. A method for doing this is a valuable “nonlinear crash start” in the solution of any nonlinear program, for example. It is also a nec- essary first step in global optimization using exhaus- tive search algorithms (Kearfott and Dian 2000). See Pardalos and Resende (2002) for further information on techniques of nonlinear programming and global optimization. A generic nonlinear program consisting of m con- straints in n variables is shown in Equation 1. Our main interest is the case in which one or more of the constraint functions are nonlinear and the bounds on the variables are very wide. Minimize or maximize fx s.t. gx=b l x u (1) The major motivation here is to find reasonable bounds on variables when these are not supplied by the user. The MProbe software (Chinneck 2001a, b, 2002) analyzes functions for characteristics such as their shape and distribution of values. It does so by random sampling in the multidimensional box definedbythevariablebounds.Usersoftenomitvari- able bounds when they are unsure as to how to set them. The resulting unbounded sampling box is so large that it is extremely unlikely that any sample points will be placed in the region of interest around the feasible region. For example, consider a three-variable model in which the feasible region is approximately a cube with sides of length 100, for a volume of 1 × 10 6 . If the bounds are not set by the user, MProbe will assume bounds of ±1 × 10 10 on each variable, for a total sampling box volume of 8 × 10 30 . The probabil- ity of placing a random point in the feasible region is then 1 × 10 6 /8 × 10 30 = 125 × 10 25 , which is vanish- ingly small. This difficulty worsens as the number of unbounded variables in the model increases. For this reasonMProbeneedstobeabletoidentifyquicklythe approximatelocationofthefeasibleregionbymoving from arbitrary initial points in the original sampling box to points that are relatively near to the feasible region. These approximately feasible points are used asaguidetosetvariableboundsthatdefineasuitable box for productive sampling. In the MProbe context it is important that near- feasibility be achieved relatively quickly since this is only a preliminary step towards the core sampling work. On the other hand, it is acceptable for the method to fail occasionally since many random ini- tial points are supplied. However, the method should converge to an approximate feasible point quickly for a reasonable fraction of the initial points. A note on nomenclature: We assume throughout that constraints have the form LHS =RHS, whereRHSisaconstant.TheLHSisoftenreferredto as the “constraint body” and includes the functional part of the constraint. 255