Forms of Input for the GlobalOptimization Package

Algebraic Form


•

Algebraic form is the most commonly used form for specifying optimization problems. The objective function and the constraints are given as algebraic expressions, such as or . This form is accepted by both the GlobalOptimization[GlobalSolve] command and the GlobalOptimization[Interactive] Maplet application.

•

All computations performed by solvers in the GlobalOptimization package use floatingpoint Vectors and Matrices. Problems specified in algebraic form are converted to Matrix form by the solvers. The computation performed is numeric and floatingpoint results are returned, even if symbols or exact data are provided.



Operator Form


•

Input in operator form is converted to Matrix form by the solver. Specifically, procedures are converted to take Vector parameters.



Matrix Form


•

Using Matrix form, the objective function and the constraints are specified as procedures taking Vector parameters. Matrix form is used by the internal solvers and generally results in better performance. This form of input is accepted by the GlobalOptimization[GlobalSolve] command, but not by the GlobalOptimization[Interactive] Maplet application.

•

Matrix form input is converted to floatingpoint data if it is not of floatingpoint type. The GlobalOptimization solvers attempt to use hardware floatingpoint computation when possible and appropriate. To avoid unnecessary copying of Matrices and Vectors, create these objects with datatype=float.



Examples


>


Solve a minimization problem specified using algebraic form. The objective function and the constraints are expressions in and .
>


 (1) 
Solve a minimization problem specified using operator form. The objective function and the constraints are procedures taking two scalar input parameters.
>

GlobalSolve(proc(x,y) 5*y^2x*y+3 end, {proc(x,y) xy8 end}, 10..0, 10..0);

 (2) 
Solve a minimization problem specified using Matrix form. The objective function is a procedure taking a twodimensional Vector as an input parameter.
>

p:=proc(V) V[1]^2V[2]^2 end proc:

>

nlc := proc(V,W) W[1] := V[2]^2V[1]5 end proc:

>


>


>


>


 (3) 


Download Help Document
Was this information helpful?