ILOG CPLEX 11.0 User's Manual > Advanced Programming Techniques > Using Goals > Special Goals in Branch & Cut > Solution Goal

A solution goal is a goal that injects a solution, such as a solution supplied by you or a solution found by ILOG CPLEX during the search.

For example, here is a sample in the C++ API which injects a solution at the beginning of branch & bound and then uses a branching goal:

if (getNnodes() == 0)
    goal = AndGoal(OrGoal(SolutionGoal(goalvar,startVals),
                                AndGoal(MyBranchGoal(getEnv(), var), goal)),
                         goal);
else
    goal = AndGoal(MyBranchGoal(getEnv(), var), goal);
return goal;

For more about this kind of special goal, see Injecting Heuristic Solutions.