12.07.2015 Views

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

ILOG CPLEX 11.0 User's Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

◆ Groups in the Conflict Refiner on page 406Preferences in the Conflict RefinerYou can assign preference to members of a conflict. In most cases there is no advantage toassigning unique preferences, but if you know something about your model that suggestsassigning an ordering to certain members, you can do so.●●●A preference of -1 means that the member is to be absolutely excluded from theconflictA preference of 0 (zero) means that the member is always to be included, andPreferences of positive value represent an ordering by which the conflict refiner willgive preference to the members. A group with a higher preference is more likely to beincluded in the conflict. Preferences can thus help guide the refinement processtoward a more desirable minimal conflict.Groups in the Conflict RefinerYou can organize constraints and bounds into one or more groups in a conflict. A group is aset of constraints or bounds that must be considered together; that is, if one member of agroup is designated by the conflict refiner to be a necessary in a minimal conflict, then theentire group will be part of the conflict.For example, in the resource allocation problem from A Model for the Conflict Refiner onpage 394, management might consider the three skill requirements (c2, c3, c4) asinseparable. Adjusting the data in any one of them should require a careful re-evaluation ofall three. To achieve that effect in the modified version of ilomipex2.cpp, replace thisline:infeas.add(rng);by the following lines to declare a group of the constraints expressing skill requirements:infeas.add(rng[0]);IloAnd skills(env);skills.add(rng[1]);skills.add(rng[2]);skills.add(rng[3]);infeas.add(skills);for (IloInt i = 4; i

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!