Solution point of an optimization problem has to satisfy following requirements

 

                                               [box constraints on decision vector]

or or             [real or boolean or integer],

 

where , and are lower, and upper bounds on components of point .

 

In PSG these simple requirements are pooled in Box of Variables (see Box (of Variables)).

 

Syntax

Full Format of Box of Variables section :

 

Box_of_Variables: [lowerbounds = <point_lowerbounds>|<number1>] [, upperbounds = <point_upperbounds> |<number2> ][, types = <point_types>|0|1|2 ]

 

 

Short Format of Box of Variables section :

 

Box: { == | >= | <= } [<point> |<number>] [, types = <point_types>|0|1|2]

 

 

Description

 

This section  is optional. The section sets bounds and types of variables. By default, variables are real and unbounded. Keyword "Box_of_Variables:" ("Box:") at the beginning of the section is mandatory.

 

In Full format, string "lowerbounds = <point_lowerbounds>|<number1>" specifies lower bounds on decision variables. If all  lower bounds are equal to the same number (number1), then lower bound should be specified by the string lowerbounds = <number1>. Otherwise, the string lowerbounds = <point_lowerbounds> should be used, specifying the fixed name of point point_lowerbounds and text file point_lowerbounds.txt containing lower bounds on variables. If the string  "lowerbounds = <point_lowerbounds>|<number1>" is  skipped, then PSG treats decision variables as unbounded  from below .

 

String "upperbounds = <point_upperbounds> |<number2>" specifies upperr bounds on decision variables. If all  upper bounds are equal to the same number (number2), then upper bound should be specified by the string upperbounds = <number2>. Otherwise, the string upperbounds = <point_upperbounds> should be used, specifying the fixed name of point point_upperbounds and text file point_upperbounds.txt containing upper bounds on variables. If the string   "upperbounds = <point_upperbounds> |<number2>" is omitted, then PSG treats decision variables as unbounded  from above.

 

String "types = <point_types>|0|1|2" specifies types of variables. If all variables are boolean, then variables types should be specified by the string types = 1. If all variables are integer, then variables types should be specified by the string types = 2. If all variables are real, then variables types may be specified by the string types = 0, or this string may be skipped, since by default types = 0. If types of variables are different, then the string types = <point_types> should be used, specifying name of point <point_types>  and text file point_types.txt containing types of variables.  If the string  "types = <point_types>|0|1|2" is skipped, then PSG treats all variables as real.

 

In Short Format Lower bound is defined by the string "<=". Upper bound is defined by the sign ">=". If the lower bound equal to the upper bound then the sign "==" should be used.

 

Examples

 Example 1 (Full format).

Box_of_variables: lowerbounds = point_lowerbounds, upperbounds = point_upperbounds

 

 

Example 2 (Short format).

Box: >= point_lowerbounds, <= point_upperbounds