Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโ€™ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

An effective genetic algorithm for the flexible job-shop scheduling problem #10

Closed
koptimizer opened this issue Jul 28, 2020 · 1 comment
Labels
Done complete Industrial domain scheduling Metaheuristic metaheuristic

Comments

@koptimizer
Copy link
Owner

koptimizer commented Jul 28, 2020

๐Ÿ“‹ ๋…ผ๋ฌธ์˜ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ์„ธ์š”.

  • An effective genetic algorithm for the flexible job-shop scheduling problem
  • Guohui Zhang, Liang Gao, Yang Shi
  • 2011-04

๐Ÿ“ƒ Abstract(๋ณธ๋ฌธ)

In this paper, we proposed an effective genetic algorithm for solving the flexible job-shop scheduling problem (FJSP) to minimize makespan time. In the proposed algorithm, Global Selection (GS) and Local Selection (LS) are designed to generate high-quality initial population in the initialization stage. An improved chromosome representation is used to conveniently represent a solution of the FJSP, and different strategies for crossover and mutation operator are adopted. Various benchmark data taken from literature are tested. Computational results prove the proposed genetic algorithm effective and efficient for solving flexible job-shop scheduling problem.

๐Ÿ”Ž ์–ด๋–ค ๋…ผ๋ฌธ์ธ์ง€ ์†Œ๊ฐœํ•ด์ฃผ์„ธ์š”.

  • Genetic algorithm์„ Flexible job-shop scheduling์—์„œ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํšจ๊ณผ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ–ฅ์ƒ๋œ ํ•ด ํ‘œํ˜„์— ๋Œ€ํ•ด ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐ ๊ณผ์ •์ด ์ƒ์„ธํžˆ ๊ธฐ์ˆ ๋˜์–ด์žˆ์–ด์„œ Implementation์˜ ๊ด€์ ์œผ๋กœ ์ฝ๊ธฐ์— ์ข‹์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๐Ÿ”‘ ํ•ต์‹ฌ ํ‚ค์›Œ๋“œ๋ฅผ ์ ์–ด์ฃผ์„ธ์š”.

Genetic algorithm, Flexible job-shop scheduling problem(FJSP), Chromosome representation, Initialization

๐Ÿ“Ž URL

https://www.sciencedirect.com/science/article/pii/S095741741000953X?via%3Dihub

@koptimizer koptimizer added Industrial domain scheduling Metaheuristic metaheuristic Reading reading labels Jul 28, 2020
@koptimizer
Copy link
Owner Author

koptimizer commented Aug 9, 2020

๐Ÿ’ก ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

  • ์ œ์•ˆ์€ ์„ธ๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ฒซ ๋ฒˆ์งธ๋Š” ํ•ด์˜ ํ‘œํ˜„ ๊ทธ๋ฆฌ๊ณ  ๋‘ ๋ฒˆ์งธ๋Š” ์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ•, ๋งˆ์ง€๋ง‰์œผ๋กœ ์„ธ ๋ฒˆ์งธ๋Š” ์œ ์ „์  ์—ฐ์‚ฐ์ž์ž…๋‹ˆ๋‹ค.
  • ํ•ด์˜ ํ‘œํ˜„(MSOS)
    • ํ•˜๋‚˜์˜ ํ•ด(Chromosome)๋Š” Machine selection๊ณผ Operation sequence๋กœ ์ด๋ฃจ์ด์ง€๊ณ , ๊ฐ Part๋Š” Operation์˜ ๊ฐฏ์ˆ˜๋งŒํผ ๊ธธ์ด๋ฅผ ๋ถ€์—ฌ๋ฐ›์Šต๋‹ˆ๋‹ค.
    • Machine selection์€ ๋ฐฐ์—ด์˜ ํ˜•ํƒœ์ด๋ฉฐ, ๊ฐ Job์˜ Operation์ด ์–ด๋–ค machine์„ ์„ ํƒํ• ์ง€ ์ •์ˆ˜์˜ ํ˜•ํƒœ๋กœ ์ˆœ์„œ๋Œ€๋กœ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.
    • Operation sequence ๋˜ํ•œ ๋ฐฐ์—ด์˜ ํ˜•ํƒœ์ด๋ฉฐ, ๋ฐฐ์—ด์˜ ์™ผ์ชฝ๋ถ€ํ„ฐ ์šฐ์„  ์ˆœ์„œ์ธ Job์ด ์ •์ˆ˜์˜ ํ˜•ํƒœ๋กœ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ์ด ๋•Œ, ์ค‘๋ณต๋œ ์ •์ˆ˜๋Š” ํ•ด๋‹น Job์˜ ๋‹ค์Œ Operation์ด ํ• ๋‹น๋˜์—ˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
    • ํ•ด๋‹น ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๋ฅผ ํ‘œํ˜„ํ•˜๋ฉด Crossover์™€ Mutation๋‹จ์—์„œ ํ•ญ์ƒ Feasible solution์ด๊ธฐ ๋•Œ๋ฌธ์— Repairing๋‚˜ Feasible check๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ•
    • Genetic algorithm์—์„œ ์ดˆ๊ธฐํ•ด์˜ ํ’ˆ์งˆ์€ ์ „์ฒด ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ์ขŒ์šฐํ•ฉ๋‹ˆ๋‹ค. ์Šค์ผ€์ค„๋ง์—์„œ์˜ ์ดˆ๊ธฐํ™”๋Š” Feasible๊นŒ์ง€ ๊ณ ๋ ค๋˜์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์ œ์•ˆ์—์„œ๋Š” Global selection๊ณผ Local selection์ด๋ผ๋Š” ๋ฐฉ๋ฒ•์„ ๊ณ ์•ˆํ•ด์„œ ํ’ˆ์งˆ๊ณผ Feasible์„ ๋™์‹œ์— ์žก์•˜์Šต๋‹ˆ๋‹ค.
    • Global selection๊ณผ Local selection์˜ ์ฐจ์ด๋Š” Job๋งˆ๋‹ค ๋…๋ฆฝ์ ์ธ ์‹œ๊ฐ„์œผ๋กœ ๊ณ ๋ คํ• ์ง€์ž…๋‹ˆ๋‹ค.
  • ์œ ์ „์  ์—ฐ์‚ฐ์ž
    • Genetic algorithm์—์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‹œํ–‰๋˜๋Š” Crossover์™€ Mutation์—์„œ MSOS๋กœ ๋งŒ๋“ค์–ด์ง„ ํ•ด์˜ Feasible์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
    • Machine selection์˜ Crossover์—์„œ๋Š” Two-point crossover, Uniform crossover๋ฅผ ์‚ฌ์šฉํ–ˆ๊ณ , Operation sequence์—์„  Preserving order-based crossover(Lee, Yamakawa, & Lee, Yamakawa, and Lee, 1998)๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
    • Mutation์—์„œ๋Š” ์ข€ ์˜์•„ํ•œ๊ฒŒ ๋ณ€์ด๊ฐ€ ์•„๋‹ˆ๋ผ ์ง„ํ™”ํ•˜๋“ฏ์ด ๋” ์ข‹์€ ์„ ํƒ์„ ์ž„์˜์ ์œผ๋กœ ํ•ด์ฃผ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“ˆ ์‹คํ—˜๊ณผ ๊ทธ ๊ฒฐ๊ณผ๋Š” ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

  • ์‹คํ—˜
    1. GS+LS+RS(Random search)๋ฅผ 6:3:1 ๋น„์œจ๋กœ ์ดˆ๊ธฐํ™”๋ฅผ ์ง„ํ–‰ํ•œ ๊ฒƒ๊ณผ ๊ธฐ์กด์˜ RS์ดˆ๊ธฐํ™”๋ž‘ ์–ด๋–ค ๊ฒฐ๊ณผ๋ฅผ ๊ฐ–๋Š”์ง€ ๋น„๊ตํ•˜์˜€์Šต๋‹ˆ๋‹ค.
    2. ๋‹ค์–‘ํ•œ Scheduling data set์— ๋Œ€ํ•ด์„œ M&G์™€ GENACE๊ฐ™์€ ๊ธฐ์กด์— ์ œ์•ˆ๋œ ๋ฐฉ๋ฒ•๊ณผ ๋น„๊ตํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ๊ฒฐ๊ณผ
    1. ์ดˆ๊ธฐํ•ด์˜ ํ’ˆ์งˆ์ด ํ›จ์”ฌ ๋›ฐ์–ด๋‚˜๋‹ค๋ณด๋‹ˆ Makespan์ด ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๋‹น์—ฐํžˆ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
    2. ๊ธฐ์กด์— ์ฐพ์•„๋‚ธ ์ตœ๊ณ ํ•ด๋ณด๋‹ค ๋” ์ข‹์€ ์ƒˆ ํ•ด๋ฅผ 33๊ฐœ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ์— ๋”ฐ๋ผ์„œ ๊ทผ์†Œํ•œ ์ฐจ์ด๊ฐ€ ์žˆ๊ธฐ๋„ํ–ˆ์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„ ํ•ด๋‹น ์ œ์•ˆ์ด ๋” ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“‚ ์ฐจํ›„ ์—ฐ๊ตฌ๋ฐฉํ–ฅ ๋ฐ ๋ณด์™„์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

  • ์šฐ์ˆ˜ํ•œ ์ง€์—ญํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ Global search์™€ Local search๋ฅผ ๋” ์ข‹๊ฒŒ ํ™•์žฅ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค.
  • Mutation ๋ถ€๋ถ„์ด ์กฐ๊ธˆ ์˜์•„ํ•œ๊ฒŒ, ํƒ์ƒ‰ ๋ฒ”์œ„๋ฅผ ๋” ๋„“ํžˆ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ์ˆ˜๋ ด์†๋„๋ฅผ ์˜ฌ๋ฆฌ๋„๋ก ๋””์ž์ธ ๋˜์–ด์žˆ๊ณ , ๋ณ€์ดํ™•๋ฅ ๋„ ๊ต‰์žฅํžˆ ๋‚ฎ๊ฒŒ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.(0.01) ๋” ์ข‹์€ Mutation์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์ง€ ์•Š๋‚˜ ํ•˜๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘ Novelty์™€ ๋…ผ๋ฌธ์„ ํ†ตํ•ด ๋ฐฐ์šด ๊ฒƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

  • Scheduling์—์„œ์˜ GA๋ฅผ ์–ด๋–ค์‹์œผ๋กœ ํ‘œํ˜„ํ•ด์•ผํ• ์ง€ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋…ผ๋ฌธ์— ๊ทธ๋ฆผ๊ณผ ์„ค๋ช…์ด ๊ต‰์žฅํžˆ ์ž์„ธํžˆ ๋‚˜์™€์žˆ์–ด์„œ ๊ตฌํ˜„ํ•˜๊ธฐ์— ๋งค์šฐ ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

โžฟ ๊ถ๊ธˆํ•œ ์ ์ด๋‚˜ ์ถ”๊ฐ€๋กœ ์ฝ์œผ๋ฉด ์ข‹์€ ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์ถ”๊ฐ€์ ์œผ๋กœ ๊ถ๊ธˆํ•œ ์‚ฌํ•ญ์— ๋Œ€ํ•ด์„œ ์ ์–ด์ฃผ์„ธ์š”.
๊ฐ™์ด ์ฝ์œผ๋ฉด ์ข‹์€ ๋ ˆํผ๋Ÿฐ์Šค์˜ ์ œ๋ชฉ๊ณผ URL์„ ๋ง๋ถ™ํ˜€์ฃผ์„ธ์š”.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Done complete Industrial domain scheduling Metaheuristic metaheuristic
Projects
None yet
Development

No branches or pull requests

1 participant