Two Integer Linear Programming Approaches for Solving the Car - - PowerPoint PPT Presentation

two integer linear programming approaches for solving the
SMART_READER_LITE
LIVE PREVIEW

Two Integer Linear Programming Approaches for Solving the Car - - PowerPoint PPT Presentation

Two Integer Linear Programming Approaches for Solving the Car Sequencing Problem Matthias Prandtstetter G unther R. Raidl Institute for Computer Graphics and Algorithms Vienna University of Technology Vienna, Austria www.ads.tuwien.ac.at


slide-1
SLIDE 1

Two Integer Linear Programming Approaches for Solving the Car Sequencing Problem

Matthias Prandtstetter G¨ unther R. Raidl

Institute for Computer Graphics and Algorithms Vienna University of Technology Vienna, Austria www.ads.tuwien.ac.at

10th Aussois Workshop on Combinatorial Optimization Aussois, France, January 2006.

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-2
SLIDE 2

Car Sequencing - Definition

Searching for an optimal arrangement

  • f commissioned cars

along a production line in automobile industry.

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-3
SLIDE 3

Car Sequencing - Definition

Searching for an optimal arrangement

  • f commissioned cars

along a production line in automobile industry.

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-4
SLIDE 4

Car Sequencing - Definition

Searching for an optimal arrangement

  • f commissioned cars

along a production line in automobile industry.

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-5
SLIDE 5

Car Sequencing - Definition

Searching for an optimal arrangement

  • f commissioned cars

along a production line in automobile industry.

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-6
SLIDE 6

Car Sequencing - Definition

“At most s consecutive cars are allowed to be painted with the same color.” Color changes have to be minimized.

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-7
SLIDE 7

Car Sequencing - Definition

“Only lc of mc cars are allowed to require component c.”

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-8
SLIDE 8

Car Sequencing - Definition

Given n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . number of cars C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set of components F ⊆ C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . set of colors K = {k : k ⊆ C, |k ∩ F| = 1} . . . . . . . . . . . . . .set of configurations costc . . . . . . . . costs for violating a constraint w.r.t. component c lc, mc . . . . . . . . . . . . . . . . . . . . . . . . ratio constraints for component c ack =

  • 1

if c ∈ k

  • therwise

eci =

  • 1

if c required by car at pos i

  • therwise

Solution sequence X = x1, . . . , xn : {1, . . . , n} → K

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-9
SLIDE 9

Car Sequencing - Definition

Minimize

  • bj(X) =

n

  • i=1

change(i) +

  • c∈C\F

n

  • i=1

viol(i, c) change(i) i − 2 i − 1 i i + 1 · · · · · · 1 viol(i, c) (lc = 2, mc = 5) i −5 i −4 i −3 i −2 i −1 i i +1 . . . – – – . . .

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-10
SLIDE 10

Car Sequencing - Definition

change(i) change(i) =    max

f∈F

  • (afxi − afxi−1) · costf
  • if i ≥ 2

max

f∈F

  • (af1 − ef1) · costf
  • therwise

viol(i, c) viol(i, c) =            max

  • 0,

i

  • j=i−mc+1

acxi − lc

  • · costc

if i ≥ mc max

  • 0,

i

  • j=1

acxj +

mc−i

  • j=1

ecj − lc

  • · costc
  • therwise

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-11
SLIDE 11

Work Done So Far

Proof of NP-hardness

Decision Problem (without colors): Kis (2004), Gent (1998) Optimization Problem (including colors): Hu (2004)

Greedy Heuristics (Gottlieb et. al. 2003) Local Search (Jaszkiewicz 2004, Puchta 2002) Large Neighborhood Search (Perron 2004) Ant Colony Optimization (Gravel et. al. 2005, Gottlieb et. al. 2003)

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-12
SLIDE 12

Work Done So Far (continued)

ROADEF Challenge 2005 Exact Approaches (Gravel et. al. 2005, Hu 2004) Basic Ideas (Gravel et. al. 2005) Grouping identical cars into classes Only counting the number of positions violating a constraint No colors included

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-13
SLIDE 13

Component Integer Linear Program

C-ILP

Basic Ideas Placing components along the production line Making sure only commissioned cars are produced Counting the number of violations of assembly shop constraints Including colors

Making sure no paint shop constraints are violated Counting the number of color changes

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-14
SLIDE 14

Component Integer Linear Program

Placing Components

variables bci =

  • 1

c at pos i

  • therwise

∀c ∈ C, ∀i ∈ {1, . . . , n} constraints

  • f∈F

bfi = 1 ∀i ∈ {1, . . . , n} (1)

n

  • i=1

bci = dc ∀c ∈ C (2)

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-15
SLIDE 15

Component Integer Linear Program

Only Commissioned Cars

variables pki =

  • 1

config k at pos i

  • therwise

∀k ∈ K, ∀i ∈ {1, . . . , n} constraints

pki ≤ ack · bci + (1 − ack) · (1 − bci) ∀k ∈ K, ∀c ∈ C, ∀i ∈ {1, . . . , n} (3)

n

X

i=1

pki = δk ∀k ∈ K (4)

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-16
SLIDE 16

Component Integer Linear Program

Number of Violations of Assembly Shop Constraints

variables gci ∈ {0, . . . , mc − lc} ∀c ∈ C \ F, ∀i ∈ {1, . . . , n} constraints

gci ≥

i

  • j=1

bcj +

mc−i

  • j=1

ecj − lc ∀c ∈ C \ F, ∀i ∈ {1, . . . , mc − 1} (5) gci ≥

i

  • j=i−mc+1

bcj − lc ∀c ∈ C \ F, ∀i ∈ {mc, . . . , n} (6)

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-17
SLIDE 17

Component Integer Linear Program

Paint Shop Constraints

constraints

i

  • j=1

bfj +

s−i+1

  • j=1

efj ≤ s ∀f ∈ F, ∀i ∈ {1, . . . , s} (7)

i

  • j=i−s

bfj ≤ s ∀f ∈ F, ∀i ∈ {s + 1, . . . , n} (8)

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-18
SLIDE 18

Component Integer Linear Program

Counting Color Changes

variables wfi =

  • 1

if the color changed

  • therwise

∀f ∈ F, ∀i ∈ {1, . . . , n} constraints wfi ≥ 0 ∀f ∈ F, ∀i ∈ {1, . . . , n} (9) wf1 ≥ bf1 − ef1 ∀f ∈ F (10) wfi ≥ bfi − bf(i−1) ∀f ∈ F, ∀i ∈ {2, . . . , n} (11)

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-19
SLIDE 19

Configuration Integer Linear Program

K-ILP

Basic Ideas Placing configurations along the production line Avoiding symmetries with identical cars Counting the number of violations of assembly shop constraints Including colors

Making sure no paint shop constraints are violated Counting the number of color Changes

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-20
SLIDE 20

Configuration Integer Linear Program

Placing Configurations

variables pki =

  • 1

if config k at pos i

  • therwise

∀k ∈ K, ∀i ∈ {1, . . . , n} constraints

  • k∈K

pki = 1 ∀i ∈ {1, . . . , n} (12)

n

  • i=1

pki = δk ∀k ∈ K (13)

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-21
SLIDE 21

Configuration Integer Linear Program

Number of Violations of Assembly Shop Constraints

variables gci ∈ {0, . . . , mc − lc} ∀c ∈ C \ F, ∀i ∈ {1, . . . , n} constraints

gci ≥

i

  • j=1
  • k∈K

ack · pkj +

mc−i

  • j=1

ecj − lc ∀c ∈ C \ F, ∀i ∈ {1, . . . , mc − 1} (14) gci ≥

i

  • j=i−mc+1
  • k∈K

ack · pkj − lc ∀c ∈ C \ F, ∀i ∈ {mc, . . . , n} (15)

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-22
SLIDE 22

Configuration Integer Linear Program

Paint Shop Constraints

constraints

i

  • j=1
  • k∈K

afk · pkj +

s−i+1

  • j=1

efj ≤ s ∀f ∈ F, ∀i ∈ {1, . . . , s} (16)

i

  • j=i−s
  • k∈K

afk · pkj ≤ s ∀f ∈ F, ∀i ∈ {s + 1, . . . , n} (17)

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-23
SLIDE 23

Configuration Integer Linear Program

Counting Color Changes

variables wfi =

  • 1

if the color changed

  • therwise

∀i ∈ {1, . . . , n} , ∀f ∈ F constraints

wfi ≥ 0 ∀i ∈ {1, . . . , n} , ∀f ∈ F (18) wf1 ≥

  • k∈K

afk · pk1 − ef1 ∀f ∈ F (19) wfi ≥

  • k∈K

afk · pki −

  • k∈K

afk · pk(i−1) ∀i ∈ {2, . . . , n} , ∀f ∈ F (20)

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-24
SLIDE 24

Comparison

C-ILP vs. K-ILP

C-ILP # of vars: n · (2|C| + |K|) # of constraints: n ·

  • 1 + 2|F| + |C| · (1 + |K|)
  • + |C| + |K|

K-ILP # of vars: n · (|C| + |K|) # of constraints: n · (1 + |C| + 2|F|) + |K| C-ILP <-> K-ILP both formulations are equivalent, but performance using CPLEX 9.0 is different

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-25
SLIDE 25

CSPLIB-instances

Key Data

set of benchmark instances 70 instances 200 cars 5 components no colors 17 to 30 configurations utilization rate 60% to 90%

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-26
SLIDE 26

CSPLIB-instances

Test Results

20 40 60 80 100 120 90−* 85−* 80−* 75−* 70−* 65−* 60−* computation time [s] set of instances C−ILP K−ILP GRAVEL

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-27
SLIDE 27

ROADEF-instances

Key Data

instances provided for the ROADEF Challenge 2005 3 different sets of instances 600 s computation time available set X

19 instances 65 to 1319 cars 5 to 26 components 5 to 20 colors 10 to 328 configurations

2 instances could be solved exactly

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-28
SLIDE 28

ROADEF-instances

Test Results

1 2 3 4 5 6 7 8 9 219 cars 4 comp 7 cols 264 cars 5 comp 9 cols 273 cars 6 comp 12 cols 376 cars 2 comps 7 cols 231 cars 7 comp 8 cols normalized objective value instance Gap between Lower and Upper Bound C−ILP K−ILP GRAVEL

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-29
SLIDE 29

Variable Neighborhood Search Approach

exact methods for larger instances not applicable Variabel Neighborhood Search (VNS) approach

simple and successful meta-heuristic (Hansen and Mladenovic) given: starting solution x and neighborhoods N1(x), . . . , Nl(x) sought: local optimum in respect to all neighborhoods N1(x), . . . , Nl(x) if no further improvement can be achieved a random move is performed

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-30
SLIDE 30

Variable Neighborhood Search Approach

Neighborhoods N1(x), . . . , Nl(x) are based on three different types of moves Swap Moves Insert Moves κ-Exchange Moves

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-31
SLIDE 31

Swap Move

swapping two configurations incremental evaluation in time O(

c∈C\F mc) possible

a b

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-32
SLIDE 32

Insert Move

moving one configuration from position b to a shifting configurations at positions a to b − 1 incremental evaluation in time O(

c∈C\F mc) possible

a b

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-33
SLIDE 33

κ-Exchange Move

removing κ configurations reassigning them again at the free positions evaluation in time O(min

  • n · |C|,

c∈C\F mc · κ

  • ) possible

pool

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-34
SLIDE 34

Neighborhoods

Neighborhoods: Move Size Evaluation κ N1(X) Swap

O(n2) O(P

c∈C\F mc)

– N2(X) Insert

O(n2) O(P

c∈C\F mc)

– N3(X) κ-Exchange / Random (

n κ)·O(κ!)

ILP-based

n 7

N4(X) κ-Exchange / Greedy

O(κ!)

ILP-based

n 7

N5(X) κ-Exchange / Random (

n κ)·O(κ!)

ILP-based

2n 7

N6(X) κ-Exchange / Greedy

O(κ!)

ILP-based

2n 7

Competitive in comparison to other state of the art (meta-)heuristics New, so far unknown results for some instances

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-35
SLIDE 35

Conclusion and Future Work

Two ILP based methods Competitive in comparison to previously presented ILP based methods VNS with neighborhoods examined by ILP based methods Lagrangian Relaxation for generating good bounds

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP

slide-36
SLIDE 36

Thank you for your attention!

Matthias Prandtstetter, G¨ unther R. Raidl Two ILP Approaches for Solving the CarSP