Download presentation
Presentation is loading. Please wait.
Published byOwen Kelley Modified over 6 years ago
1
CSC5240 Combinatorial Search and Optimization with Constraints
Tutorial Notes 7
2
CSC5240 Tutorial 7 Global Constraints in ILOG Paper Presentation
Project Proposal
3
Global Constraints Often-seen sub-problems (complex constraints) in modeling with specific AC-revise() procedure ILOG provides a number of global constraints : IloAllDiff IloDistribute IloSequence IloAllMinDistance IloPartition IloAllNullIntersect IloEqUnion …
4
IloAllDiff Restrict each value to appear at most once among the variables. 1 2 3
5
IloAllDiff Restrict each value to appear at most once among the variables. 3 2 3
6
IloDistribute Often called “cardinality constraints” or “global cardinality constraints” (gcc) Used to restrict the number of occurrences of each value among the variables. Special Case: AllDiff constraint The number of occurrences of each value is 1
7
IloDistribute How about restricting each value to appear within a range of number of times? E.g. Given variables x, y, z D(x) = D(y) = D(z) = {1,2,3} Among x, y, z, we want to have - value 1 to appear [1,2] times - value 2 to appear [0,1] times - value 3 to appear [0,3] times Is the following assignment correct? 1 1 2
8
IloDistribute E.g. Given variables x, y, z D(x) = D(y) = D(z) = {1,2,3} Among x, y, z, we want to have - value 1 to appear [1,2] times - value 2 to appear [0,1] times - value 3 to appear [0,3] times Is the following assignment correct? 3 3 3
9
IloDistribute IloDistribute is used to count the number of variables that takes a given value in an array. cards – An array storing the occurrence range for each value [1..2], [3..4], [0..5] values – an array of values vars – an array storing the variables IloDistribute(IloEnv env, IloIntVarArray cards, IloNumArray values, IloNumVarArray vars); 1 2 3
10
IloDistribute The arrays cards and values must be of the same length.
For each i, cards[i] is equal to the number of occurrences of values[i] in the array vars. IloDistribute(IloEnv env, IloIntVarArray cards, IloNumArray values, IloNumVarArray vars);
11
IloDistribute e.g. the value stored in values[2] should occur in the array vars 3 to 5 times. cards[2] = IloIntVar(env, 3, 5); e.g. the value stored in values[3] should occur in the array vars at most twice. cards[3] = IloIntVar(env, 0, 2); IloDistribute(IloEnv env, IloIntVarArray cards, IloNumArray values, IloNumVarArray vars);
12
Example: BIBD Recall the BIBD problem in Tutorial 1, Assignment 1/2.
Incidence matrix: A v by b binary matrix Exactly r ones per row Exactly k ones per column A scalar product of lambda between any pair of distinct rows
13
Model Use IloDistribute !
14
Using global constraints
However, if you just post those global constraints, ILOG may not call their specific AC-revise() methods E.g. ILOG will use a set of disequalities to replace IloAllDiff() If you really have to enforce hyper-arc consistency on those global constraints, set the filter level to the extended level ... model.add(IloAllDiff(env, x)); solver.setDefaultFilterLevel(IloAllDiffCt, IloExtendedLevel);
15
Demonstration Click here to open the code!
16
Presentation Communicate key ideas Don’t get bogged down in details
Use a top-down approach Introduction Body Technicalities Conclusion
17
Top-down Approach Introduction Body Motivate the audience
Define the problem Discuss earlier work Emphasize the contributions Body Delineate major results Explain the significance of the results
18
Top-down Approach Technicalities Conclusion
Present the key theorem / result / overview of the implementation Show and explain the experimental results, if any Try to be as succinct and clear as possible Conclusion Weave earlier statements into a coherent synopsis State open problems Indicate that your talk is over
19
Some Guidelines Remind, don’t assume Don’t over-run
Maintain eye contact, control your voice and motion Don’t overload a single slide with too much information Use colours and fonts effectively Use pictures, tables, and examples Prefer words over symbols, and pictures over words
20
Questions and Answers Prepare additional slides to anticipate questions on confusing technicalities Some questions are intended to see how you react to criticism under pressure Be prepared, be polite, avoid getting involved in a lengthy exchange Don’t confuse “I don’t know” with “it is not known”
21
Several deadlines Assignment 2 deadline: 10 Nov., 2009
Paper presentation: 19 Nov., 2009 (Lecture time) 21 Nov., 2009 (Saturday morning) You have to your project proposal with pages to Jimmy on or before 20 Nov. (Friday) Project Presentation: 18 Dec., 2009
22
END
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.