• 沒有找到結果。

Optimization of order-picking using a revised minimum spanning table method

N/A
N/A
Protected

Academic year: 2021

Share "Optimization of order-picking using a revised minimum spanning table method"

Copied!
27
0
0

加載中.... (立即查看全文)

全文

(1)

Optimization of order-picking

using a revised minimum spanning table method

盧坤勇

國立聯合大學電子工程系

(2)

Minimum spanning tree : MST

Problem statement:

Given a connected graph G = (V, E) ,

where V={v0, v1, …, vn-1} is the set of

vertices and E V × V is the set of edges.

MST is a connected sub-graph of G of minimum cost with no cycles.

(3)

Traditional MST solution

Linear programming method Integer programming

ij j

i

ij x

C Min

S.T:

G j

i j i x

E j

i x

x

E j

i x

G j

x x

ij

ji ij

ij

ji j i j

i

ij

, , ,

1 , 0

) , ( , 1

) , ( , 1

,

(4)

Some well-known heuristic algorithms

Kruskal, 1956 Prim, 1959

Sollin, 1965

(5)

Revised MST algorithm(cont.)

Step 1: listing the cost relationships of vertices by two dimensional matrices( n × n matrices)

Step 2: choosing the minimum cost for each row and marking the minimum one from choose cost (e.g. Cij) Step 3: connecting the vertices of xi and xj and deleting the

ith row and jth column from the matrices

Step 4: repeating step 2 and 3, until deleting all rows and columns, or all vertices are selected

(6)

Revised MST algorithm(cont.)

Step 5: detecting and marking the results by isolated node, tree, and cycle

5-1 : if single tree only exists, stop

5-2 : if a cycle tree exists, then de-cycling in a tree with minimum cost

Step 6: connecting all isolated nodes and trees by some heuristic rules: e.g. Branch and Bound, GA, etc.

(7)

Example

Step 1

X1 X2 X3 X4 X5 X6 X7

X1 * 9 8 4 5 9 4

X2 9 * 4 6 4 9 9

X3 3 4 * 2 3 5 4

X4 4 8 5 * 1 7 8

X5 5 9 8 8 * 1 4

X6 3 4 2 7 3 * 6

X7 3 4 8 5 9 4 *

(8)

Example

X1 X2 X3 X4 X5 X6 X7

X1 * 9 8 4 5 9 4 4

X2 9 * 4 6 4 9 9 4

X3 3 4 * 2 3 5 4 2

X4 4 8 5 * 1 7 8 1

X5 5 9 8 8 * 1 4 1

X6 3 4 2 7 3 * 6 2

X7 3 4 8 5 9 4 * 3

Step 2 Minimum cost / row

(9)

X1 X2 X3 X4 X5 X6 X7

X1 * 9 8 4 5 9 4 4

X2 9 * 4 6 4 9 9 4

X3 3 4 * 2 3 5 4 2

X4 4 8 5 * 11 7 8 1 x4→x5

X5 5 9 8 8 * 1 4 1

X6 3 4 2 7 3 * 6 2

X7 3 4 8 5 9 4 * 3

Step 3

Example (cont.)

(10)

X1 X2 X3 X4 X5 X6 X7

X1 * 9 8 4 5 9 4 4

X2 9 * 4 6 4 9 9 4

X3 3 4 * 2 3 5 4 2

X4 4 8 5 * 11 7 8 1 x4→x5

X5 5 9 8 8 * 12 4 1 x5→x6

X6 3 4 2 7 3 * 6 2

X7 3 4 8 5 9 4 * 3

Step 4

Example (cont.)

(11)

X1 X2 X3 X4 X5 X6 X7

X1 * 9 8 4 5 9 46 4 x1→x7

X2 9 * 4 6 4 9 9 4 Isolated vertex

X3 3 4 * 23 3 5 4 2 x3→x4

X4 4 8 5 * 11 7 8 1 x4→x5

X5 5 9 8 8 * 12 4 1 x5→x6

X6 3 4 24 7 3 * 6 2 x6→x3

X7 35 4 8 5 9 4 * 3 x7→x1

Step 4

Example (cont.)

(12)

Step 5

Example (cont.)

Vertex index

x1 x2 x3 x4 x5 x6 x7

Sequence 6 7 3 1 2 4 5

Destination x7 x2 x4 x5 x6 x3 x1 Cycle index 2 3 1 1 1 1 2

Results:

Two cycles: x4-x5-x6-x3, x7-x1 One isolated vertex

(13)

Step 6

Example (cont.)

6-1 de-cycling

x4 → x5 →x6 →x3 →

x4 → x5 →x6 →x3

x1 x7 x7→x1

(14)

Step 6

Example (cont.)

6-2 connecting

1. choosing isolated vertex firstly

x4 x3 x1 x7

x2 6 4 9 9

8 4 9 4

x2

Alternative solutions: x2→x3, x3→x2, x7→x2

(15)

Step 6

Example (cont.)

2. Connecting results

x2 → x3 → x4 → x5 → x6 x4 → x5 → x6 → x3 → x2 x1 → x7 → x2

(16)

Step 6

Example (cont.)

3. Connecting other trees

{x1,x7,x2} , {x4,x5,x6,x3}

Alternative solutions: x3→x1

x4 x1

x2 6 *

x3 * 3

Minimum cost

(17)

Step 6

Example (cont.)

4. Connecting results

x4 → x5 → x6 → x3 →x1 → x7 → x2 Total cost : 15

5. Optimizing the results by using Branch and Bound or GA algorithms

(18)

Procedure 1 Initialize the population

Procedure 2 Evaluate the fitness Procedure 3 Parents selection

Procedure 4 Genetic operation

Application of GA to optimize

the generalized results

(19)

Procedure 1 Initialize the population

Application of GA to optimize the generalized results (cont. )

Step1. Collect the groups against the results of MST and give a sequence number, ex : G1={2},

G2={1,7},

G3={4,5,6,3}

Step2. Initialize parameters : index q=1, a population size s and population P = {Ø }.

Step3. Randomly produce a integer number Pq to represent the group , ex : a number 1

(20)

Procedure 1 Initialize the population

Application of GA to optimize the generalized results (cont. )

Step4. If Pq is feasible, go to step 5, or else go to step 3.

Step5. If Pq is different from any previous

individuals, then P = P + {Pq} , q=q+1, or else go to step 3.

Step6. If q > s, then P = {p1, p2, …, Ps} is the initial population and stop; or else go to step3.

(21)

Procedure 2 Evaluate the fitness

Application of GA to optimize the generalized results (cont. )

Step 1. Initialize a constant c, decrement rate d and evaluation value E.

Step 2. Order the chromosomes in the decreasing order of evaluation value.

Step 3. Based on E, calculate the fitness value Fi, which starts at c, ane reduces linearly with

decrement rate r, Fi = c+ (i-1) r, i = (1,2,…,s) where s is the size of the population.

(22)

Procedure 3 Parents selection

Application of GA to optimize the generalized results (cont. )

Step 1. Compute the fitness value of all the population members, Fsum = ,s is the population size.

Step 2. Initialize, index i = 0 and a counter F = 0.

Step 3. Randomly generate a real number f [0, Fsum].

Step 4. i = i + 1, F = F + fi .

s i

fi 1

(23)

Procedure 3 Parents selection

Application of GA to optimize the generalized results (cont. )

Step 5. If F > f, then return selected position i and stop; or else go to step 4.

Step6 . Select the first chromosome if n is smaller than or equal to the sum of cumulative

probability of proceeding chromosomes.

(24)

Procedure 4 Genetic operation

Application of GA to optimize the generalized results (cont. )

Step 1. Generate a bit string.

Step 2. Check those numbers of parent1 against the ordered list of the bit string.

Step 3. If those numbers against digit 1 from parent1, move those numbers from parent1 to offspring at the same position..

(25)

Procedure 4 Genetic operation

Application of GA to optimize the generalized results (cont. )

Step 4. Check those numbers against digit 0 from

parent1 and then find those numbers occurring on parent2.

Step5 . Move those numbers to unfilled positions of the offspring in the same sequence of parent2.

(26)

Example : crossover operation

Application of GA to optimize the generalized results (cont. )

Bit string 1 0 0 1 0 1 0 0 1 1 Parent1 7 4 8 1 3 6 9 10 2 5

Offspring 7 3 8 1 10 6 4 9 2 5

Parent2 3 5 2 8 7 10 4 1 6 9

(27)

Example : mutate operation

Application of GA to optimize the generalized results (cont. )

Parent1 5 4 8 | 1 7 2 3 | 10 2 5

Offspring 5 4 8 | 3 7 2 1 | 10 2 5

參考文獻

相關文件

▪ Step 2: Run DFS on the transpose

the larger dataset: 90 samples (libraries) x i , each with 27679 features (counts of SAGE tags) (x i ) d.. labels y i : 59 cancerous samples, and 31

– Maintain a heavy path: Instead of recalculate all ances tors' value, only the corresponding overlapping subpa th will be recalculated. It cost O(1) time for each verte x, and

• Each row corresponds to one truth assignment of the n variables and records the truth value of φ under that truth assignment. • A truth table can be used to prove if two

(c) If the minimum energy required to ionize a hydrogen atom in the ground state is E, express the minimum momentum p of a photon for ionizing such a hydrogen atom in terms of E

Wang, Solving pseudomonotone variational inequalities and pseudocon- vex optimization problems using the projection neural network, IEEE Transactions on Neural Networks 17

Define instead the imaginary.. potential, magnetic field, lattice…) Dirac-BdG Hamiltonian:. with small, and matrix

For R-K methods, the relationship between the number of (function) evaluations per step and the order of LTE is shown in the following