Forms of Input for the GlobalOptimization Package
This help page gives a brief overview of the ways in which optimization problems can be specified in the GlobalOptimization package. More information about each form can be found in the GlobalOptimization/AlgebraicForm, GlobalOptimization/OperatorForm, and GlobalOptimization/MatrixForm help pages.
Algebraic Form
Operator Form
Matrix Form
Examples
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 sin⁡x+y or v2+ⅇv. 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 floating-point Vectors and Matrices. Problems specified in algebraic form are converted to Matrix form by the solvers. The computation performed is numeric and floating-point results are returned, even if symbols or exact data are provided.
For a detailed description of algebraic form, see the GlobalOptimization/AlgebraicForm help page.
Using operator form, the objective function and the constraints are provided as procedures taking one or more parameters and returning a scalar. This form of input is accepted by the GlobalOptimization[GlobalSolve] command, but not the GlobalOptimization[Interactive] Maplet application.
Input in operator form is converted to Matrix form by the solver. Specifically, procedures are converted to take Vector parameters.
For a detailed description of operator form, see the GlobalOptimization/OperatorForm help page.
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 floating-point data if it is not of floating-point type. The GlobalOptimization solvers attempt to use hardware floating-point computation when possible and appropriate. To avoid unnecessary copying of Matrices and Vectors, create these objects with datatype=float.
For a detailed description of Matrix form, see the GlobalOptimization/MatrixForm help page.
with⁡GlobalOptimization:
Solve a minimization problem specified using algebraic form. The objective function and the constraints are expressions in x and y.
GlobalSolve⁡x2−y+3,y2−x⁢y≤6,x=0..4,y=0..4
0.484651860901459841,x=0.263423376188894,y=2.58474001422130
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^2-x*y+3 end, {proc(x,y) -x-y-8 end}, -10..0, -10..0);
0.333333333333332593,−7.33333333333333−0.666666666666667
Solve a minimization problem specified using Matrix form. The objective function is a procedure taking a two-dimensional Vector as an input parameter.
p:=proc(V) V[1]^2-V[2]^2 end proc:
nlc := proc(V,W) W[1] := V[2]^2-V[1]-5 end proc:
bl≔Vector⁡−15,−15,datatype=float:
bu≔Vector⁡15,15,datatype=float:
bd≔bl,bu:
GlobalSolve⁡2,p,1,0,nlc,bd
−5.24999997400607388,0.4998964692718142.34518580372569
See Also
GlobalOptimization
GlobalOptimization/AlgebraicForm
GlobalOptimization/MatrixForm
GlobalOptimization/OperatorForm
GlobalOptimization[GlobalSolve]
GlobalOptimization[GlobalSolve] (MatrixForm)
GlobalOptimization[Interactive]
Download Help Document