Presentation is loading. Please wait.

Presentation is loading. Please wait.

Matrix Modelling Pierre Flener (Uppsala) Alan M. Frisch (York) Brahim Hnich, Zeynep Kiziltan (Uppsala) Ian Miguel, and Toby Walsh (York)

Similar presentations


Presentation on theme: "Matrix Modelling Pierre Flener (Uppsala) Alan M. Frisch (York) Brahim Hnich, Zeynep Kiziltan (Uppsala) Ian Miguel, and Toby Walsh (York)"— Presentation transcript:

1 Matrix Modelling Pierre Flener (Uppsala) Alan M. Frisch (York) Brahim Hnich, Zeynep Kiziltan (Uppsala) Ian Miguel, and Toby Walsh (York)

2 What is matrix modelling?  Constraint programs with one or more matrix of decision vars  Common patterns in such models

3 Example: warehouse location  Which warehouses supply which stores?  0/1 matrices Open(warehouse) Supply(warehouse,store)  Constraints Each store has a warehouse: row sum on Supply=1 Warehouse capacity: column sum on Supply <= ci Channelling from Supply to Open

4 Diversity of matrix models  Combinatorial problems BIBDs, magic squares, projective planes, …  Design Rack configuration, template and slab design, …  Scheduling Classroom, social golfer, …  Assignment Warehouse location, progressive party, …

5 Why matrix model?  Ease of problem statement Side constraints, variable indexing, …  Improved constraint propagation Symmetry breaking, indistinguishable values, linear models, … We argue that matrix operations should become first class objects in constraint programming languages. MATLAB meet OPL?

6 Common constraint types  Row or column sum  Weighted row/column sum  Single non-zero entry  Matrix sum  Scalar product  Channelling This pretty much describes all the examples! These constraints should be provided as language primitives? Efficient and powerful propagators developed?

7 Ease of problem statement  Steel mill slab design  Nasty “colour” constraint Stops it being simple knapsack problem  Channel into matrix model Colour constraint easily and efficiently stated  Easy to combine models Multiple models

8 Improved propagation  Warehouse location Either 1-d matrix, Supply(store)=warehouse Or 2-d matrix, Supply(store,warehouse)=0/1 2-d matrix is purely linear so can use LP solver

9 Symmetry breaking  Often rows or columns (or both) are symmetric All weeks (cols) can be permuted in a timetable All slabs (rows) of same size can be permuted  Lex order rows/cols See our talk in Symmetry workshop Alan Frisch

10 Indistinguishable values  Values in problem can be indistinguishable In progressive party problem: Assign(guest,period)=host But host boats of same size are indistinguishable  Channel into 0/1 matrix with extra dimension Assign3(guest,period,host)=0/1 Value symmetry => variable symmetry

11 Variable indexing  Use variables to index into arrays E.g. channelling in progressive party problem Assign3(guest,period,Assign(guest,period))=1 compared to Assign3(guest,period,host)=1 iff Assign(guest,period)=host Reduces number of constraints from cubic to quadratic Hooker (and others) argue that such indexing is one of the significant advantages CP has over IP

12 Conclusions  Matrix models common  Common types of constraints posted on matrices Row/column sum, symmetry breaking, channelling, …  Matrix operations should be made first-class objects in modelling languages MATLAB, EXCEL, …


Download ppt "Matrix Modelling Pierre Flener (Uppsala) Alan M. Frisch (York) Brahim Hnich, Zeynep Kiziltan (Uppsala) Ian Miguel, and Toby Walsh (York)"

Similar presentations


Ads by Google