Title: Applications of Constraint Programming
1Applications of Constraint Programming
- The Data Error Detection Problem and the DDX
Manpower Planning Problem
2Outline of Presentation
- Data Error Detection Problem
- Manpower Planning Problem for the DDX
- Some Results of Constraint Programming Applied to
the Resource Constrained Project Scheduling
Problem (RCPSP)
3Errors in Data Sets
- Large data files frequently contain missing,
incorrect, and inconsistent data. - Such errors can be detected by formulating a set
of rules. - First task is to form a set of rules for the EMF
and check the set for consistency and
redundancy. - Second task is to use the set of rules to detect
erroneous data and make the appropriate
corrections which modify the data as little as
possible and preserves the statistical
distribution of correct data as much as possible. - Our research focuses on the first one.
4Propositional Logic Formulation
- Due to Bruni and Sassano 2001
- An edit rule may be
- If marital status is married, age must be
not less than 14 - The propositional logic formula for the above
rule is - (married_status married) /\ (age lt
14) - To get a formula which is satisfied by correct
data, we need to negate the above formula. - This negated formula is satisfiable if and only
if there exists an assignment that makes the
formula true otherwise the negated formula is
unsatisfiable, which implies an inconsistency in
the edit set.
5Complete Inconsistency
- Complete inconsistency occurs when every possible
set of entries to the fields activates an edit. - In order to restore consistency it is useful to
know which are the offending edits, or the
minimal unsatisfiable sub formula. - The core is to solve a SAT and a MAX_SAT problem.
6Redundancy
- Some edits could be logically implied by others,
thus being redundant. By removing these redundant
edits, we can reduce the number of clauses in the
system while maintaining the same power of
inconsistency detection. - An edit, e, can be checked by removing its
clausal representation from the CNF formula,
adding its negation to the formula, and testing
if the resulting formula is unsatisfiable. If it
is unsatisfiable, then e is redundant. - The core is again to solve a SAT problem.
7SAT and MAX_SAT Problem
- Satisfiability (SAT) Problem (Gary and Johnson
1979) - Instance A set U of variables and a
collection C of clauses over U. - Question Is there a satisfying truth
assignment for C? - MAX_SAT Problem
- Instance A set U of variables and a
collection C of clauses over U. - Question What is the maximum number of
clauses that can be satisfied? - Both SAT and MAX_SAT are NP-complete and not
easily expressed or solved with classical
mathematical programming tools and concepts. - Intense interest in exploring outside
mathematical programming in areas such as
Artificial Intelligence (AI) and Computer Science
(CS) to find ideas to use to represent and solve
satisfiability problems.
8Opportunities of Research
- Edit Generation. Attack the problem of
generating a set of consistent and
redundancy-free edit rules. This problem can be
solved by encoding the formulation as a
propositional logic formula and solving a
sequence of satisfiability problems. - Implementation. Design, implement, and test an
application that executes the efficient set of
edit rules for the types of personnel files
handled by the Navy.
9Manpower Planning for DDX Ship
- The reduction in crew size associated with the
new DDX class of ships, means that many of the
routine and non routine tasks that are now
performed by our forces at sea will need to be
accomplished with fewer resources. - Determining the correct crew size and a right mix
of skills for the crew will require that we
understand how to schedule the myriad of tasks
that a ships crew must accomplish every day. - Our Plan -- Formulate it as a Resource
Constrained Project Scheduling Problem (RCPSP)
with special objective function and resource type
considerations.
10A Traditional Resource Constraint Project
Scheduling (RCPS) Problem
- Temporal time constraints (time windows)
starting time of task k in job j
11Additional Assumptions
- A set of renewable resources is required for
carrying out the activities of the project. - Each activity must be carried out without
interruption (non preemption). - Set-up time independent
- Objective is to find an optimal schedule to
minimize the make span (completion time of the
last project scheduled).
12Notation
amount of resource k used at t for a schedule S
E the edge set of activity on node graph,
which connects pairs of nodes having
temporal relations
13A General Model Formulation
14An Illustration of RCPSP
1. The current illustration is not feasible for
unary resources. 2. Our task is to find a
feasible solution while optimizing an objective
function.
15Where is the Gap?
- The manpower planning problem faced by the Navy
is different from the traditional RCPSP. It has
combined characteristics of both RCPSP and a
generalized assignment problem (GAP). - The assignment has to be made which is usually
the case in GAP but rare in RCPSP. - The objective is to minimize the number of
sailors on site (at work), which is different
from minimizing make-span in traditional RCPSP.
Also note that this is not simply minimizing the
number of sailors, but the attendance of
sailors since one sailor might be assigned
several times for different tasks. - On the other hand, it is significantly different
from GAP because the assignment needs to be made
while satisfying the temporal constraints among
tasks (time windows).
16Introduction to Constraint Programming (CP)
- CP is the study of computational systems based on
constraints. - Earliest ideas leading to CP may be found in AI
area of CSP (Constraint Satisfaction Problem),
dating back to 60s and 70s. - In CP, the word programming refers to its roots
in the field of programming language. Other
programming paradigms are procedural programming,
OOP, functional programming, logic programming,
etc. (Hentenryck, 1999) - In Mathematical Programming, the word
programming roots in Dantzig 1963, which is
associated with a specific mathematical problem. - Constraint Programming represents one of the
closest approaches computer science has yet made
to the Holy Grail of programming the user states
the problem, the computer solves it. (E. Freuder)
17An Illustration for Domain Reduction
- Constraint Propagation
- When a variables domain is modified, the
effects of this modification are then
communicated to any constraint that interacts
with that variable. The domain reduction
algorithms modifies the domains of all the
variables in that constraint, given the
modification of one of the variables in that
constraint.
01234 56789
1 3
01234
Y2X
Ylt10
(X modulo 2) 1
Y2X
01234 56789
02468
2 6
18Experimental Study of Constraint Programming
Approach to Solve RCPSP
- A RCPSP with unary resource, i.e. for each type
of resource there is only one unit available
throughout the process of the project. - Implementing constraint programming with
Optimization Programming Language (OPL). - Branching and Bound approach to solve the same
problem with Excel Solver as comparison. - Our study indicates that the constraint
programming approach outperforms the B B
approach significantly.
19Effects of Number of Types of Resources
Note 1. Time in seconds. 2. Performed
on AMD Athlon 1GHz with 256 MB Memory.
3. Set the base case to include 9 jobs, 3 types
of resources and 18 temporal
constraints.
20Note The base case has 9 tasks, 3 types of
resources, 8 min-delay relations and no due date
constraints. Resource 3 has two units and others
have one unit each.
21Note The base case has 9 tasks, 3 types of
resources, 10 precedence relations and no due
date constraints.
22Note The base case has 9 tasks, 3 types of
resources, 10 precedence relations and 8
min-delay relations.
23(No Transcript)
24(No Transcript)
25Integer Programming Approach(Unary Resource)
26Comparison of CP and BB
Note 1. Time in seconds. 2. Performed
on AMD Athlon 1GHz, 256 MB memory
27Conclusion
- The declarative nature of Constraint Programming
reduces the effort to express and formulate the
models for SAT, MAX_SAT and RCPSP. - The novelty of specifying the search procedure in
OPL separately from expressing the model will
play an invaluable part in solving these NP-hard
combinatorial problems. - For large instances of these problems, we might
need to develop hybrid integer constraint
programming model to take advantages of both
approaches.
28Questions? Comments?
29Thank You!