56
Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich 1 Roberto Rossi 2 S. Armagan Tarim 3 Steven D. Prestwich 4 1 Faculty of Computer Science, Izmir University of Economics, Izmir, Turkey 1 LDI, Wageningen UR, the Netherlands 3 Dept. of Operations Management, Nottingham University Business School, UK 4 Cork Constraint Computation Centre, University College Cork, Ireland XL Annual Conference of the Italian Operational Research Society, AIRO 2009

Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

  • Upload
    others

  • View
    23

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Synthesizing Filtering Algorithms inStochastic Constraint Programming

Brahim Hnich1

Roberto Rossi2

S. Armagan Tarim3

Steven D. Prestwich4

1Faculty of Computer Science, Izmir University of Economics, Izmir, Turkey1LDI, Wageningen UR, the Netherlands

3Dept. of Operations Management, Nottingham University Business School, UK4Cork Constraint Computation Centre, University College Cork, Ireland

XL Annual Conference of the Italian Operational ResearchSociety, AIRO 2009

Page 2: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Decision Making

A Complete Overview

Theoretical Results

Applications

Decision Support Systems

Modeling Frameworks

Page 3: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Decision Making

Decision Making in a Deterministic Setting

DETERMINISTIC

Theoretical Results

Applications

Decision Support Systems

Modeling Frameworks

MIP

CP

LPSimplex Shortest Path

CRM

ERPInventory Control

Production Planning

Transport Scheduling

Page 4: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Decision Making

Decision Making in a Deterministic Setting

DETERMINISTIC

Theoretical Results

Applications

Decision Support Systems

Modeling Frameworks

MIP

CP

LPSimplex Shortest Path

CRM

ERPInventory Control

Production Planning

Transport Scheduling

CPLEXCPLEX

Page 5: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Decision Making

Decision Making in a Deterministic Setting

DETERMINISTIC

Theoretical Results

Applications

Decision Support Systems

Modeling Frameworks

MIP

CP

LPSimplex Shortest Path

CRM

ERPInventory Control

Production Planning

Transport Scheduling

OPL STUDIOOPL STUDIO

Page 6: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Decision Making

Decision Making Under Uncertainty: A Pervasive Issue

UNCERTAINTY

Theoretical Results

Applications

Decision Support Systems

Modeling Frameworks

Production Planning

Inventory Control

Land-Crop Allocation

Sustainable Energy Production

Financial Planning

Food Quality Control

Page 7: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Decision Making

Decision Making Under Uncertainty

UNCERTAINTY

Theoretical Results

Applications

Decision Support Systems

Modeling Frameworks

Stochastic Dynamic Programming

Stochastic Programming

Simplex Convex Analysis

CRM

ERPInventory Control

Production Planning

Transport Scheduling

Page 8: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Decision Making

Decision Making Under Uncertainty

UNCERTAINTY

Theoretical Results

Applications

Decision Support Systems

Modeling Frameworks

Stochastic Dynamic Programming

Stochastic Programming

Simplex Convex Analysis

CRM

ERPInventory Control

Production Planning

Transport Scheduling

STOCHASTIC OPLSTOCHASTIC OPL

Page 9: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

An example

Decision Making in a Deterministic Setting

0-1 Knapsack Problem

Problem : we have k kinds of items , 1 through k . Each kind ofitem i has

a value ri

a weight wi .

We usually assume that all values and weights arenon-negative. The maximum weight that we can carry in thebag is c.Objective : find a set of objects that provides the maximumvalue and that fits in the given capacity.

Page 10: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

An example

Decision Making in a Deterministic Setting

0-1 KP: MIP Formulation

Objective:max

∑ki=1 rixi

Constraints:∑ki=1 wixi ≤ c

Decision variables:xi ∈ {0, 1} ∀i ∈ {1, . . . , k}

Page 11: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

An example

Decision Making Under Uncertainty

Static Stochastic Knapsack Problem

Problem : we have k kinds of items and a knapsack of size cinto which to fit them. Each kind of item i has

a deterministic profit ri .

a size Wi , which is not known at the time the decision hasto be made. The decision maker knows the probabilitydistribution of Wi .

A per unit penalty cost p has to be paid for exceeding thecapacity of the knapsack. The probability of not exceedingthe capacity of the knapsack should be greater or equal to agiven threshold θ.Objective : find the knapsack that maximizes the expectedprofit.

Page 12: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

An example

Decision Making Under Uncertainty

SSKP: Stochastic Programming Formulation

Objective:

max

Pki=1 riXi − pE

h

Pki=1 Wi Xi − c

i+ff

Subject to:

Prn

Pki=1 WiXi ≤ c

o

≥ θ

Decision variables:Xi ∈ {0, 1} ∀i ∈ 1, . . . , k

Stochastic variables:Wi → item i weight ∀i ∈ 1, . . . , k

Stage structure:V1 = {X1, . . . , Xk}S1 = {W1, . . . ,Wk}L = [〈V1, S1〉]

Page 13: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Basic Notions

Formal Background

A slightly formal definition

A Constraint Satisfaction Problem (CSP) is a triple 〈V , D, C〉.

V = {v1, . . . , vn} is a set of variables

D is a function mapping each variable vi to a domain D(vi)of values

C is a set of constraints.

A Constraint Optimization Problem (COP) consists of a CSPand objective function f (V ) defined on a subset V of thedecision variables in V . The aim in a COP is to find a feasiblesolution that minimizes (maximizes) the objective function.

Page 14: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Basic Notions

Solution Method

Strategy

Constraint Programming proposes to solve CSPs/COPsby associating with each constraint a filtering algorithm .

A filtering algorithm removes from decision variabledomains values that cannot belong to any solution of theCSP/COP.

Constraint Propagation is the process that repeatedlycalls filtering algorithms until no new deduction can bemade.

Constraint Solving interleaves filtering algorithms and asearch procedure (for instance a backtracking algorithm).

Page 15: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Basic Notions

An Example

P0

P1

x1 ∈ {1}

Sample COP: 0-1 KPV = {x1, . . . , x3}D(xi) = {0, 1} ∀i ∈ {1, . . . , 3}C = {8x1 + 5x2 + 4x3 ≤ 10}f (x1, . . . , x3) = 8x1 + 15x2 + 10x3

Filtered domains at P1

D(x1) = {1} D(x2) = {0} D(x3) = {0} D(z) = {8}

Page 16: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Basic Notions

Global Constraints

In constraint programming is common to find constraints over anon-predefined number of variables

alldifferent

element

cumulative

...

These constraints are called global constraints

they can be used in a variety of situations

they are associated with powerful filtering strategies

new custom global constraints can be defined

Page 17: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Basic Notions

Global Constraints

Filtering algorithms

detect inconsistencies in a proactive fashion

speed up the search

provided that the time spent in filtering is less then the timesaved in terms of search efforts.A challenging research topic is the design of efficient filteringstrategies.

Page 18: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Basic Notions

A slightly formal definition

Stochastic Constraint Satisfaction ProblemA Stochastic Constraint Satisfaction Problem (SCSP) is a7-tuple

〈V , S, D, P, C, θ, L〉.

V = {v1, . . . , vn} is a set of decision variables

S = {s1, . . . , sn} is a set of stochastic variables

D is a function mapping each variable to a domain of potential values

P is a function mapping each variable in S to a probability distribution for itsassociated domain

C is a set of (chance)-constraints, possibly involving stochastic variables

θh is a threshold probability associated to chance-constraint h

L = [〈V1, S1〉, . . . , 〈Vi , Si〉, . . . , 〈Vm, Sm〉] is a list of decision stages.

By considering an objective function f (V , S) we obtain a SCOP.

Page 19: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Basic Notions

An Example

Sample SCOP: SSKP

V = {x1, . . . , x3}

D(xi) = {0, 1} ∀i ∈ {1, . . . , 3}

S = {w1, . . . , w3}

D(w1) = {5(0.5), 8(0.5)}, D(w2) ={3(0.5), 9(0.5)}, D(w3) = {15(0.5), 4(0.5)}

C = {Pr(w1x1 + w2x2 + w3x3 ≤ 10) ≥ 0.2}

L = [〈V , S〉]

f (x1, . . . , x3) =

8x1 + 15x2 + 10x3 − 2E max[0,

∑3i=1 wixi − 20

]

Page 20: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Basic Notions

An Example

Sample SCOP: DSKP

V = {x1, . . . , x3}

D(xi) = {0, 1} ∀i ∈ {1, . . . , 3}

S = {w1, . . . , w3}

D(w1) = {5(0.5), 8(0.5)}, D(w2) ={3(0.5), 9(0.5)}, D(w3) = {15(0.5), 4(0.5)}

C = {Pr(w1x1 + w2x2 + w3x3 ≤ 10) ≥ 0.2}

L = [〈{x1}, {w1}〉, 〈{x2}, {w2}〉, 〈{x3}, {w3}〉]

f (x1, . . . , x3) =

E[8x1 + 15x2 + 10x3] − 2E max[0,

∑3i=1 wixi − 20

]

Page 21: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Stochastic OPL

Stochastic OPL

A language specifically introduced by Tarim et al. (Tarim et al.,2006) for modeling decision problems under uncertainty .It captures several high level concepts that facilitate theprocess of modeling uncertainty:

stochastic variables (independent or conditionaldistributions)

several probabilistic measures for the objective function(expectation, variance, etc.)

chance-constraints

decision stages

...

Page 22: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Stochastic OPL

Stochastic OPL

SSKPint N = 3;int c = 10;int p = 2;float θ = 0.2range Object [1..3];int value[Object] = [8,15,10];stoch int weight[Object] = [<5(0.5),8(0.5)>,

<3(0.5),9(0.5)>,<15(0.5),4(0.5)>];var int+ X[Object] in 0..1;stages = [<X,weight>];var int+ z;

maximize sum(i in Object) X[i]*value[i] - p*zsubject to{z = max(0,expected(sum(i in Object) X[i]*weight[i] - c));prob(sum(i in Object) X[i]*weight[i] - c ≤ 0) ≥ θ;};

Page 23: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Stochastic OPL

Stochastic OPL

DSKPint N = 3;int c = 10;int p = 2;float θ = 0.2range Object [1..3];int value[Object] = [8,15,10];stoch int weight[Object] = [<5(0.5),8(0.5)>,

<3(0.5),9(0.5)>,<15(0.5),4(0.5)>];var int+ X[Object] in 0..1;stages = [<X[1],weight[1]>,<X[2],weight[2]>,<X[3],weight[3]>];var int+ z;

maximize sum(i in Object) X[i]*value[i] - p*zsubject to{z = max(0,expected(sum(i in Object) X[i]*weight[i] - c));prob(sum(i in Object) X[i]*weight[i] - c ≤ 0) ≥ θ;};

Page 24: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Solution Methods

Scenario-based Compilation

By using the approach discussed in

S. A. Tarim, S. Manandhar and T. Walsh,Stochastic Constraint Programming: A Scenario-Based Approach,Constraints, Vol.11, pp.53-80, 2006

it is possible to compile any SCSP/SCOP down to a determinis-tic equivalent CSP.

Page 25: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Solution Methods

Scenario-based Compilation

Solver

stoch myrand[onestage]=...;int nbItems=...;float c = ...;float q = ...;range Items 1..nbItems;range onestage 1..1;float W[Items,onestage]^myrand = ...;float r[Items] = ...;dvar float+ z;dvar int x[Items] in 0..1;

maximizesum(i in Items) x[i]*r[i] - expected(c*z)

subject to{z >= sum(i in Items) W[i]*x[i] - q;prob(sum(i in Items) W[i]*x[i] <= q) >= 0.6;};

Solution

Stochastic Constraint Program Stochastic OPL Model

Deterministic equivalent model

int nbWorlds=...;range Worlds 1..nbWorlds;int nbItems=...;range Items 1..nbItems;float c = ...;float W[Worlds,Items] =...;float Pr[Worlds]=...;float r[Items] = ...;float q = ...;var float+ z[Worlds];var int+ x[Items] in 0..1;

maximize ((sum(i in Items)x[i]*r[i])- c*(sum(j in Worlds)Pr[j]*z[j]))subject to{ forall(j in Worlds) z[j]>=(sum(i in Items)W[j,i]*x[i])-q; sum(j in Worlds) Pr[j]*(sum(i in Items)W[j,i]*x[i] <= q) >= 0.2;};

Compiler

Page 26: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Solution Methods

Scenario-based Compilation

SSKP: Compiled Deterministic Equivalent CSP

Page 27: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Solution Methods

Scenario-based Compilation

Advantages

Seamless Modeling under Uncertainty!

Stochastic OPL not necessarily linked to CP

DrawbacksSize of the compiled model

Constraint Propagation not fully supported

Page 28: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Solution Methods

An Alternative Approach to Seamless Stochastic Optimizati on

Constraint Programming Solversupporting Global Chance-Constraints

stoch myrand[onestage]=...;int nbItems=...;float c = ...;float q = ...;range Items 1..nbItems;range onestage 1..1;float W[Items,onestage]^myrand = ...;float r[Items] = ...;dvar float+ z;dvar int x[Items] in 0..1;

maximizesum(i in Items) x[i]*r[i] - expected(c*z)

subject to{z >= sum(i in Items) W[i]*x[i] - q;prob(sum(i in Items) W[i]*x[i] <= q) >= 0.6;};

Solution

Stochastic Constraint Program Stochastic OPL Model

Filtering Algorithms forGlobal Chance-Constraints

Page 29: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering in SCSPs

Also in Stochastic Constraint Programming (SCP) we have

constraints

filtering algorithms

In contrast to CP, in SCP constraints divide into

hard constraints

chance-constraints

Global Chance-ConstraintsPerhaps the most interesting aspect of SCP is that the conceptof global constraint can be also adopted in a stochasticenvironment, thus leading to

Global Chance-Constraints (Rossi et al., 2008)

Page 30: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering in SCSPs

Stochastic Programming Model

Pr{∑k

i=1 WiXi ≤ c}≥ θ

Global Chance-ConstraintstochLinIneq(x,W,Pr,q,0.2);

Page 31: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering in SCSPs

SSKP: Compiled Deterministic Equivalent CSP withGlobal Chance-Constraints

Page 32: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering in SCSPs

Stochastic Constraint Programming

Global Chance-Constraints

represent relations among a non-predefined number ofdecision and random variablesimplement dedicated filtering algorithms based on

feasibility reasoningoptimality reasoning

Global Chance-Constraints performing optimality reasoning arecalled Optimization-Oriented Global Chance-Constraints(Rossi et al., 2008).

Page 33: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering in SCSPs

“Synthesizing Filtering Algorithms for Global Chance-Constraints” (Hnich et al., 2009)

Page 34: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x1={0,1}x2={0,1}

x3={0,1}

w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Pr(w1x1+w2x2+w3x3²10)>0.5

Solution TreeSearch Tree

Page 35: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x1={0,1}x2={0,1}

x3={0,1}

w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Pr(w1x1+w2x2+w3x3²10)>0.5

Solution TreeSearch Tree

x1={0,1} x2={0,1} x3={0}

Page 36: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x1={0,1}x2={0,1}

x3={0,1}

w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Pr(w1x1+w2x2+w3x3²10)>0.5

Solution TreeSearch Tree

x1={0,1} x2={0,1} x3={0}

x1={0,1} x2={0,1} x3={0,1}

Page 37: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x1={0,1}x2={0,1}

x3={0,1}

w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Pr(w1x1+w2x2+w3x3²10)>0.5

Solution TreeSearch Tree

x1={0,1} x2={0,1} x3={0}

x1={0,1} x2={0,1} x3={0,1}

x1={0,1} x2={0,1} x3={0}

x1={0,1} x2={0,1} x3={0,1}

x1={0,1} x2={0,1} x3={0}

x1={0,1} x2={0,1} x3={0,1}

x1={0,1} x2={0,1} x3={0}

x1={0,1} x2={0,1} x3={0,1}

Page 38: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x1={1}x2={0,1}

x3={0}

w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Pr(w1x1+w2x2+w3x3²10)>0.5

Solution TreeSearch Tree

x1={1} x2={0,1} x3={0}

x1=1

Page 39: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x1={1}x2={0,1}

x3={0}

w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Pr(w1x1+w2x2+w3x3²10)>0.5

Solution TreeSearch Tree

x1={1} x2={0,1} x3={0}

x1=1

x1={1} x2={0,1} x3={0}

Page 40: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x1={1}x2={0,1}

x3={0}

w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Pr(w1x1+w2x2+w3x3²10)>0.5

Solution TreeSearch Tree

x1={1} x2={0,1} x3={0}

x1=1

x1={1} x2={0,1} x3={0}

x1={1} x2={0} x3={0}

Page 41: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x1={1}x2={0,1}

x3={0}

w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Pr(w1x1+w2x2+w3x3²10)>0.5

Solution TreeSearch Tree

x1={1} x2={0,1} x3={0}

x1=1

x1={1} x2={0,1} x3={0}

x1={1} x2={0} x3={0}

x1={1} x2={0} x3={0}

x1={1} x2={0} x3={0}

x1={1} x2={0} x3={0}

x1={1} x2={0} x3={0}

x1={1} x2={0} x3={0}

Page 42: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x1={1}x2={0}

x3={0}

w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Pr(w1x1+w2x2+w3x3²10)>0.5

Solution TreeSearch Tree

x1={1} x2={0,1} x3={0}

x1=1

x1={1} x2={0,1} x3={0}

x1={1} x2={0} x3={0}

x1={1} x2={0} x3={0}

x1={1} x2={0} x3={0}

x1={1} x2={0} x3={0}

x1={1} x2={0} x3={0}

x1={1} x2={0} x3={0}

Page 43: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x3={0,1}

x3=1

x3=1

x3=1

x2=1

x2=1

x1={0,1}w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Solution TreeSearch Tree

Pr(w1x1+w2x2+w3x3²10)³0.5

Page 44: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x3={0,1}

x3=1

x3=1

x3=1

x2=1

x2=1

x1={0,1}w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Solution TreeSearch Tree

x1={} x2={1} x3={1}

Pr(w1x1+w2x2+w3x3²10)³0.5

Page 45: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x3={0,1}

x3=1

x3=1

x3=1

x2=1

x2=1

x1={0,1}w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Solution TreeSearch Tree

x1={} x2={1} x3={1}

x1={0} x2={1} x3={1}

Pr(w1x1+w2x2+w3x3²10)³0.5

Page 46: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x3={0,1}

x3=1

x3=1

x3=1

x2=1

x2=1

x1={0,1}w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Solution TreeSearch Tree

Pr(w1x1+w2x2+w3x3²10)³0.5

x1={} x2={1} x3={1}

x1={0} x2={1} x3={1}

x1={0} x2={1} x3={0}

Page 47: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x1={} x2={1} x3={1}

x1={0} x2={1} x3={1}

x1={0} x2={1} x3={0}

x1={0} x2={1} x3={0}

x3={0,1}

x3=1

x3=1

x3=1

x2=1

x2=1

x1={0,1}w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Solution TreeSearch Tree

Pr(w1x1+w2x2+w3x3²10)³0.5

Page 48: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x3={0,1}

x3=1

x3=1

x3=1

x2=1

x2=1

x1={0,1}w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Solution TreeSearch Tree

x1={} x2={1} x3={1}

x1={0} x2={1} x3={1}

x1={0} x2={1} x3={0}

x1={0} x2={1} x3={0}

x1={} x2={1} x3={1}

x1={0} x2={1} x3={1}

x1={} x2={1} x3={1}

x1={} x2={1} x3={1}

Pr(w1x1+w2x2+w3x3²10)³0.5

Page 49: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x3={0,1}

x3=1

x3=1

x3=1

x2=1

x2=1

x1={0,1}w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Solution TreeSearch Tree

x1={} x2={1} x3={1}

x1={0} x2={1} x3={1}

x1={0} x2={1} x3={0}

x1={0} x2={1} x3={0}

x1={} x2={1} x3={1}

x1={0} x2={1} x3={1}

x1={} x2={1} x3={1}

x1={} x2={1} x3={1}

Pr(w1x1+w2x2+w3x3²10)³0.5

Page 50: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Global Chance-Constraints

Filtering Algorithms for GCCs: An example

x3=0

x3=1

x3=1

x3=1

x2=1

x2=1

x1=0w1=5

w1=8

w2=3

w2=9

w2=3

w2=9

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

w3=15

w3=4

Solution TreeSearch Tree

x1={} x2={1} x3={1}

x1={0} x2={1} x3={1}

x1={0} x2={1} x3={0}

x1={0} x2={1} x3={0}

x1={} x2={1} x3={1}

x1={0} x2={1} x3={1}

x1={} x2={1} x3={1}

x1={} x2={1} x3={1}

Pr(w1x1+w2x2+w3x3²10)³0.5

Page 51: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Filtering Algorithms

B. Hnich, R. Rossi, S. A. Tarim and S.Prestwich,Synthesizing Filtering Algorithmsfor Global Chance-Constraints ,15th International Conference onPrinciples and Practice of ConstraintProgramming (CP-09) Lisbon,Portugal, September 21-24, 2009

ContributionA generic approach for constraint reasoning underuncertainty .Works with any existing propagation algorithm!

Page 52: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Filtering Algorithms

B. Hnich, R. Rossi, S. A. Tarim and S.Prestwich,Synthesizing Filtering Algorithmsfor Global Chance-Constraints ,15th International Conference onPrinciples and Practice of ConstraintProgramming (CP-09) Lisbon,Portugal, September 21-24, 2009

DrawbackOnly implemented for linear inequalities/equalities:stochLinIneq(x,W,Pr,q,0.2);

i.e. SSKP → Pr(w1x1 + w2x2 + w3x3 ≤ 10) ≥ 0.2

Page 53: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Filtering Algorithms

B. Hnich, R. Rossi, S. A. Tarim and S.Prestwich,Synthesizing Filtering Algorithmsfor Global Chance-Constraints ,15th International Conference onPrinciples and Practice of ConstraintProgramming (CP-09) Lisbon,Portugal, September 21-24, 2009

Future workConsidering more global constraints :allDifferent()NValue()Cumulative()...

Page 54: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Integrated Development Environment

Page 55: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Final remarks

Summary

We discussed a Framework for Modeling DecisionProblems under Uncertainty

Stochastic Constraint ProgrammingGlobal Chance-constraintsStochastic OPL

Page 56: Synthesizing Filtering Algorithms in Stochastic Constraint ... · Synthesizing Filtering Algorithms in Stochastic Constraint Programming Brahim Hnich1 Roberto Rossi2 S. Armagan Tarim3

Introduction Constraint Programming Stochastic Constraint Programming Ongoing Research Conclusions

Questions

Questions