Objective Variables
Objective variables are defined to construct an objective function. The objective function is a summation of all variables that are designated as objective-type. Variables are defined as objective function contributions by starting with obj. Thus, the variables obj1, objective, object[1] would be included in the objective function summation.
Additionally, slack variables are included in the objective function. These variables begin with the key letters slk and are defined with a lower bound of zero.
Minimize vs. Maximize
The objective function is always minimized with APMonitor. Maximizing an objective function is accomplished by minimizing the negative of the original objective.
! original objective maximize z
The objective is modified by minimizing the negative of the original objective function.
! modified objective minimize -z
The APMonitor objective is reported in the minimized form. Thus, a maximized objective with a result of +17 is reported as -17.
Retrieve Objective Function
The objective function is retrieved as the parameter nlc.objfcnval in a programming script from the apm_tag function such as:
obj = apm_tag(s,a,'nlc.objfcnval')
This obtains the current objective function value with input arguments s=server and a=application name. An objective may consist of multiple objectives that are maximized or minimized. They are all converted to minimization functions and added together.
Example
! Example model with an objective variable Parameters p1 = 5 Variables objective v1 > 6 Equations objective = (v1 - p1)^2 |
! Equivalent model with a minimize objective statement Parameters p1 = 5 Variables v1 > 6 Equations minimize (v1 - p1)^2 |
! Equivalent model with a maximize objective statement Parameters p1 = 5 Variables v1 > 6 Equations maximize -(v1 - p1)^2 |
Solution p1 = 5 v1 = 6 objective = 1 |