Purpose
Perform
goal programming.
Synopsis
int XPRS_CC XPRSgoal(XPRSprob prob, const char *filename, const char *flags);
GOAL [filename] [-flags]
Arguments
prob
|
The current problem.
|
filename
|
A string of up to 200 characters containing the file name from which the directives are to be read (a .gol extension will be added).
|
flags
|
Flags to pass to XPRSgoal (GOAL):
o
|
optimization process logs to be displayed;
|
l
|
treat integer variables as linear;
|
f
|
write output into a file filename.grp.
|
|
Related Controls
Integer
|
Number of partial solutions to store when using pre-emptive goal programming.
|
Example 1 (Library)
In the following example, goal programming is carried out on a problem,
goalex, taking instructions from the file gb1.gol:
XPRSreadprob(prob,"goalex","");
XPRSgoal(prob,"gb1","fo");
Example 2 (Console)
Suppose we have a problem where the weight for objective function OBJ1
is unknown and we wish to perform goal programming, maximizing this row and relaxing the resulting
constraint by 5% of the optimal value, then the following sequence will solve this
problem:
READPROB
GOAL
P
O
OBJ1
MAX
P
5
<empty line>
Further information
1. The command XPRSgoal (GOAL) used with objective functions
allows the user to find solutions of problems with more than one objective function.
XPRSgoal (GOAL) used with constraints enables the user to find solutions to
infeasible problems. The goals are the constraints relaxed at the beginning to make the problem
feasible. Then one can see how many of these relaxed constraints can be met, knowing the penalty of
making the problem feasible (in the Archimedian case) or knowing which relaxed constraints will
never be met (in the pre-emptive case).
2. (Console) If the optional filename is specified when
GOAL is used, the responses to the prompts are read from filename.gol. If there
is an invalid answer to a prompt, goal programming will stop and control will be returned to the
Optimizer.
3. It is not always possible to use the output of one of the goal problems as an
input for further study because the coefficients for the objective function, the right hand side and
the row type may all have changed.
4. In the Archimedian/objective function option, the fixed value of the resulting
objective function will be the linear combination of the right hand sides of the objective functions
involved.
Related topics
If you have any comments or suggestions about these pages,
please send mail to docs@dashoptimization.com.