Initializing help system before first use

Pre-emptive Goal Programming Using Constraints

For this case, goals are ranked from most important to least important. Initially we try to satisfy the most important goal. Then amongst all the solutions that satisfy the first goal, we try to come as close as possible to satisfying the second goal. We continue in this fashion until the only way we can come closer to satisfying a goal is to increase the deviation from a higher priority goal.

An example of this is as follows:

goal 1 (G1): 7x + 3y 40
goal 2 (G2): 10x + 5y = 60
goal 3 (G3): 5x + 4y 35
LIMIT: 100x + 60y 600

Initially we try to meet the first goal (G1), which can be done with x=5.0 and y=1.6, but this solution does not satisfy goal 2 (G2) or goal 3 (G3). If we try to meet goal 2 while still meeting goal 1, the solution x=6.0 and y=0.0 will satisfy. However, this does not satisfy goal 3, so we repeat the process. On this occasion no solution exists which satisfies all three.