The data file provided is as close as I have been able to get to implementing the problem on page 197 of Lee's "Goal Programming for Decision Analysis". The current results do not agree with those given by Lee because I can't find a way of telling the code that d(1)+ either not be considered or should be set to zero (it gets assigned the value 30). Lee's code has the facility for stating whether just the + or the - or both occur in each of the goal constraints -- I assume this code must allow this too but the instructions are too vague in the code.