๐ŸŒˆworker๊ฐ€ ์•„๋‹ˆ๋ผ player๋กœ ์‚ฐ๋‹ค- | ์ปค๋ฆฌ์–ด๋ฆฌ

๐ŸŒˆworker๊ฐ€ ์•„๋‹ˆ๋ผ player๋กœ ์‚ฐ๋‹ค- ๐ŸŽ ์ด ์ž๋ฃŒ๋ฅผ ์ถ”์ฒœํ•˜๋Š” ์ด์œ  - ํŽ˜์ด์Šค๋ถ์— ์ •๋ง ์ข‹์€ ๊ธ€์„ ์ž์ฃผ ์˜ฌ๋ ค์ฃผ์‹œ๋Š” ์‹ ์ˆ˜์ •๋‹˜์˜ ํŽ˜์ด์Šค๋ถ ๊ธ€์ž…๋‹ˆ๋‹ค - ๋‹จ์ˆœํžˆ ์ผ์„ ํ•˜๋Š” ์‚ฌ๋žŒ(์‹œ์ผœ์„œ ํ•˜๋Š” ์ผ์„ ํ•˜๋Š” worker)์ด ์•„๋‹Œ, ์ฃผ์ฒด์ ์œผ๋กœ ์ผํ•˜๋Š” Player์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค - ์ผํ•˜๋Š” ๋งˆ์ธ๋“œ์— ๋Œ€ํ•ด ๊นจ๋‹ฌ์Œ์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค ๐Ÿ‘์ฝ์œผ๋ฉด ์ข‹์€ ๋ถ„ - ์ฃผ์ฒด์ ์œผ๋กœ ์ผํ•˜๋Š” ๋งˆ์ธ๋“œ์— ๋Œ€ํ•ด ๊ถ๊ธˆํ•˜์‹  ๋ถ„ ๐Ÿ“‹ ๋‚ด์šฉ - "ํšŒ์‚ฌ์—์„œ ๋งก์€ ์ผ์„ ์—ด์‹ฌํžˆ ํ•˜๋Š”๊ฒƒ์€ work์ด๋‹ค. ๊ฐœ๊ฐœ์ธ์€ worker๋ผ๊ณ  ๋ถ€๋ฅด๊ณ  worker๋Š” ํ†ฑ๋‹ˆ๋ฐ”ํ€ด์˜ ์ผ๋ถ€๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๊ทธ ์ผ์„ ๋‹ด๋‹นํ•ด๋„ ํšŒ์‚ฌ๋Š” ์•„๋ฌด ์ง€์žฅ์ด ์—†๋‹ค. worker์—๊ฒŒ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ž์‹ ์ด ์†ํ•œ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด๊ฐ€ ์–ผ๋งˆ๋‚˜ ํฌ๊ณ  ๋‹จ๋‹จํ•œ๊ฐ€์ด๋‹ค. ์ž์‹ ์˜ ๊ฒฝ์Ÿ๋ ฅ๋ณด๋‹ค๋Š” ์ž์‹ ์ด ์†Œ์†๋œ ํšŒ์‚ฌ๋ฅผ ์ž๋ž‘ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ worker๊ฐ€ ์ž˜ ์‚ฌ๋Š” ์‹œ๋Œ€๋Š” ์ €๋ฌผ์–ด๊ฐ„๋‹ค. ์ด์ œ player๊ฐ€ ํ•„์ˆ˜์ ์ธ ์‹œ๋Œ€๊ฐ€ ์˜ค๊ณ ์žˆ๋‹ค. player๋Š” ์ž์‹ ์˜ ์ „๋ฌธ์„ฑ, ์ปดํ“จํ„ฐ๋‚˜ ํƒ€์ธ์ด ๋Œ€์ฒดํ• ์ˆ˜ ์—†๋Š” ๋…ํŠนํ•œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํ†ฑ๋‹ˆ๋ฐ”ํ€ด์—์„œ ๋น ์ ธ๋‚˜์™€๋„ ์ƒ์กดํ• ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์ด๋‹ค" - ๊นจ์ธ ์‚ฌ๋žŒ๋“ค์€ worker๋กœ ์ผํ•˜์ง€ ์•Š๊ณ  player๋กœ ์ผํ•œ๋‹ค. worker๋Š” ์ˆ˜๋™์ ์ธ ์ฝคํฌ๋„ŒํŠธ๋กœ ์ผํ•˜์ง€๋งŒ player๋Š” ๊ฒŒ์ž„์„ ํ•˜๋“ฏ, ๊ฒฝ๊ธฐ๋ฅผ ํ•˜๋“ฏ ์ž์‹ ์ด ์ฃผ๋„๊ถŒ์„ ๊ฐ€์ง€๊ณ  ์ผํ•œ๋‹ค - ํ›„์ง€๋”๋ผ๋„ ์ž์‹ ๋“ค์ด ์Šค์Šค๋กœ ์•„์ด๋””์–ด๋ฅผ ๋‚ด์–ด ์ฐฝ์—…ํ•œ ๋ฒค์ฒ˜์˜ ์„ฑ๊ณต ํ™•๋ฅ ์ด ์••๋„์ ์œผ๋กœ ๋†’์•˜๋‹ค๊ณ  ํ•œ๋‹ค. work์— ์ต์ˆ™ํ•œ ์‚ฌ๋žŒ์€ ์•„๋ฌด๋ฆฌ ๋˜‘๋˜‘ํ•ด๋„ play๋ฅผ ํ•  ์ค„ ๋ชจ๋ฅด๋Š” ๊ฒƒ์ด๋‹ค. - ์ฐฝ์—…๋งŒ์ด play๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋‹ˆ๋‹ค. ์ง์žฅ์ƒํ™œ์„ ํ•˜๋ฉด์„œ๋„ ์ถฉ๋ถ„ํžˆ play๋ฅผ ํ• ์ˆ˜ ์žˆ๋‹ค. play๋ฅผ ์ž˜ ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์˜ ๊ณตํ†ต์ ์€ '๋…๋ฆฝ์‹ฌ, ์œ ์—ฐ์„ฑ, ํ˜ธ๊ธฐ์‹ฌ'์ด ๊ฐ•ํ•˜๋‹ค. ์ฃผ๋„์„ฑ๊ณผ ๋…๋ฆฝ์‹ฌ์ด ๊ฐ•ํ•˜๋ฉด์„œ๋„ ์œ ์—ฐํ•˜๊ณ  ๋Š์ž„์—†์ด ๋ฐฐ์šฐ๊ณ  ํƒ๊ตฌํ•œ๋‹ค. ํƒ€์ธ์ด ๋Œ€์ฒดํ•˜๊ธฐ ์–ด๋ ค์šด ์ž์‹ ๋งŒ์˜ ์ฐจ๋ณ„ํ™”๋œ ๊ฒƒ์„ ์Œ“๋Š”๋‹ค. workํ•˜๊ธฐ๋ณด๋‹ค๋Š” ๊ฒŒ์ž„ํ•˜๋“ฏ ๊ฒฝ๊ธฐํ•˜๋“ฏ ํ•œ๋‹ค. ๋ฌผ๋ก , ๊ฒŒ์ž„์ด๋‚˜ ๊ฒฝ๊ธฐ์—์„œ ๋‹ค์น˜๊ณ  ํŒจ๋ฐฐํ•˜๊ธฐ๋„ ํ•˜์ง€๋งŒ ์˜ค๋š์ด๊ฐ™์ด ์ผ์–ด์„ ๋‹ค. - ๋‹น์‹ ์€ work๋ฅผ ํ•˜๊ณ  ์žˆ๋Š”๊ฐ€? play๋ฅผ ํ•˜๊ณ  ์žˆ๋Š”๊ฐ€? ์šฐ๋ฆฌ ์ž๋…€๋“ค์ด worker๊ฐ€ ๋˜๊ธธ ์›ํ•˜๋Š”๊ฐ€? player๊ฐ€ ๋˜๊ธฐ๋ฅผ ์›ํ•˜๋Š”๊ฐ€? ---- - ์ €๋Š” ์–ด๋–ค ๋ถ€๋ถ„์—์„œ Player์ด๊ณ , ์–ด๋–ค ๋ถ€๋ถ„์—์„  Worker์ธ์ง€ ํšŒ๊ณ ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง€๊ฒŒ ๋œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋“ค์€ Player๋ฅผ ์›ํ•˜์‹œ๋‚˜์š”? Worker๋ฅผ ์›ํ•˜์‹œ๋‚˜์š”? ์ •๋‹ต์€ ์—†๊ณ  ์‚ฌ๋žŒ๋งˆ๋‹ค ๋ชจ๋‘ ๋‹ค๋ฅผ๊ฑฐ์—์š”. ๊ทธ๋ž˜๋„ ํ•œ๋ฒˆ ์ด๋Ÿฐ ์ƒ๊ฐ ํ•ด๋ณด์…”๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š” :)

Log into Facebook

facebook.com

2021๋…„ 5์›” 31์ผ ์˜คํ›„ 12:57

๋Œ“๊ธ€ 0

ํ•จ๊ป˜ ๋ณด๋ฉด ๋” ์ข‹์€

๐ŸŒˆ ์˜์นด ์˜ˆ์•ฝ์„ ํšจ์œจ์ ์œผ๋กœ - ์ˆ˜ํ•™์  ๋ชจ๋ธ๋ง์„ ํ™œ์šฉํ•œ ์˜์นด ์˜ˆ์•ฝ ํ…ŒํŠธ๋ฆฌ์Šค ๐ŸŽ ์ด ๊ธ€์„ ์ถ”์ฒœํ•˜๋Š” ์ด์œ  - ์‚ฐ์—…๊ณตํ•™ ์ „๊ณต์—์„œ ๋ฐฐ์šฐ๋Š” ์„ ํ˜• ์ตœ์ ํ™”, ๋น„์„ ํ˜• ์ตœ์ ํ™”, Integer Programming์— ๋Œ€ํ•ด ์•„์‹œ๋‚˜์š”? - ์ €๋„ ๊ฒฝ์˜๊ณผํ•™ ์‹œ๊ฐ„์— ์ด๋Ÿฐ ๊ณผ๋ชฉ์„ ๋ฐฐ์› ๋Š”๋ฐ, ๊ทธ ๋‹น์‹œ์—” ์ดํ•ดํ–ˆ์œผ๋‚˜ ์‹ค๋ฌด์—์„œ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ• ์ง€ ๋„ˆ๋ฌด ์ƒ์ƒํ•˜๊ธฐ ์–ด๋ ค์› ์–ด์š” - ์˜์นด์—์„  ์ด๋Ÿฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด ์˜ˆ์•ฝ ํšจ์œจ์„ ๊ฐœ์„ ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ์–ด์š” - ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ๋ฐ์ดํ„ฐ ๋ถ„์„, ๋จธ์‹ ๋Ÿฌ๋‹/๋”ฅ๋Ÿฌ๋‹ ๋“ฑ๋งŒ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ, ์ตœ์ ํ™” ์ด๋ก ์—์„œ ๋‚˜์˜ค๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ถ€๋ถ„์„ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์–ด ํŒ€์›๋ถ„๊ณผ ๊ธ€์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค - ์ด ์ตœ์ ํ™” ํ”„๋กœ์ ํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐฐํฌํ–ˆ๋Š”์ง€๋„ ๋‹ด์•˜์Šต๋‹ˆ๋‹ค. ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด Ray๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , GCP Pub/Sub, Dataflow, CPU 224 Core ์„ ์ ํ˜• ์ธ์Šคํ„ด์Šค ๋“ฑ์„ ์‚ฌ์šฉํ•œ ๋‚ด์šฉ๋„ ์žˆ์œผ๋‹ˆ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ถ„๋“ค๋„ ์žฌ๋ฏธ์žˆ๊ฒŒ ์ฝ์„ ์ˆ˜ ์žˆ์„๊ฑฐ์—์š” ๐Ÿ‘ ์ฝ์œผ๋ฉด ์ข‹์€ ๋ถ„ - ๋ชจ๋นŒ๋ฆฌํ‹ฐ, ๋ฌผ๋ฅ˜, ๋ฐฐ๋‹ฌ ์‚ฐ์—…์—์„œ ์ผํ•˜๊ณ  ๊ณ„์‹  ๋ถ„(์ด ๋ถ„์•ผ๊ฐ€ ์ตœ์ ํ™”์™€ ์ž˜ ๋งž์•„์š”) - ์ตœ์ ํ™” ๋ฌธ์ œ๊ฐ€ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐ๋˜๋Š”์ง€ ๊ถ๊ธˆํ•˜์‹  ๋ถ„ - ์˜์นด ๋ฐ์ดํ„ฐ๋น„์ฆˆ๋‹ˆ์Šค ๋ณธ๋ถ€์˜ ์—…๋ฌด ๋ฐฉ์‹์ด ๊ถ๊ธˆํ•˜์‹  ๋ถ„ - ์ตœ์ ํ™” ๋ฌธ์ œ๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ๊ณผ์ •์ด ๊ถ๊ธˆํ•˜์‹  ๋ถ„ ๐Ÿ“‹ ๋ชฉ์ฐจ 1. ์˜ˆ์•ฝ ํ…ŒํŠธ๋ฆฌ์Šค ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ - 1.1 ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์˜ ์œ ๋ž˜ - 1.2 ์˜ˆ์•ฝ ํ…ŒํŠธ๋ฆฌ์Šค์˜ ๋ชฉ์  2. ์˜ˆ์•ฝ ํ…ŒํŠธ๋ฆฌ์Šค ์ตœ์ ํ™” ๋ชจ๋ธ๋ง - 2.1 ์ตœ์ ํ™” ๋ฌธ์ œ(Optimization Problem)์˜ ์ ‘๊ทผ๋ฒ• - 2.2 ์ •์ˆ˜ ๊ณ„ํš๋ฒ•(Integer Programming) - 2.3 ์ตœ์ ํ™” ์ง€ํ‘œ ์ •์˜ํ•˜๊ธฐ : ์–ด๋–ค ์ƒํƒœ๊ฐ€ ๋” โ€˜์ตœ์ โ€™์ผ๊นŒ? - 2.4 ์ตœ์ ํ™” ๋ชจ๋ธ ์ •์˜ํ•˜๊ธฐ - 2.5 ์ตœ์ ํ™” ๋ชจ๋ธ ๊ตฌํ˜„ํ•˜๊ธฐ : Google OR-Tools 3. ์˜ˆ์•ฝ ํ…ŒํŠธ๋ฆฌ์Šค ๋ชจ๋ธ ๋ฐฐํฌ - 3.1 ์ตœ์ ํ™” ์„œ๋ฒ„ & ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ - 3.2 ์˜์นด ์„œ๋น„์Šค ์„œ๋ฒ„์™€ ์ตœ์ ํ™” ์„œ๋ฒ„์˜ ๋ฐ์ดํ„ฐ ํ”„๋กœํ† ์ฝœ 4. ์˜ˆ์•ฝ ํ…ŒํŠธ๋ฆฌ์Šค ์ ์šฉ ์„ฑ๊ณผ 5. ๋งˆ๋ฌด๋ฆฌ --- ์ตœ์ ํ™” ๋ฌธ์ œ(Optimization Problem) : ์–ด๋–ค ๋ชฉ์  ํ•จ์ˆ˜(Objective Function)์˜ ํ•จ์ˆซ๊ฐ’์„ ์ตœ๋Œ€ํ™” ๋˜๋Š” ์ตœ์†Œํ™”ํ•˜๋Š” ๋ณ€์ˆ˜์˜ ํ•ด ๊ฐ’์„ ์ฐพ๋Š” ์œ ํ˜•์˜ ๋ฌธ์ œ ์ตœ์ ํ™” ๋ฌธ์ œ์˜ ํ•ด๊ฒฐ ๋ฐฉ์‹ 1) ์•Œ๊ณ ๋ฆฌ์ฆ˜ 1-1) ๋ฌธ์ œ์— ๋งž์ถค์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋ฐœ 1-2) ํœด๋ฆฌ์Šคํ‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์šฉ 2) ์ˆ˜ํ•™์  ๋ชจ๋ธ๋ง ํ›„ Solver ์‚ฌ์šฉ ๊ฐ๊ฐ ์ตœ์ ํ•ด ๋ณด์žฅ ์—ฌ๋ถ€, ๊ฐœ๋ฐœ์˜ ๋‚œ์ด๋„๊ฐ€ ๋‹ค๋ฅด๋ฏ€๋กœ ์ทจ์‚ฌ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Œ ์ •์ˆ˜ ๊ณ„ํš๋ฒ•(Integer Programming) : ์„ ํ˜• ์ œ์•ฝ์กฐ๊ฑด์œผ๋กœ ํ‘œํ˜„๋œ ํ•ด ๊ณต๊ฐ„์—์„œ ์กฐํ•ฉ ์ตœ์ ํ™”(Combinatorial Optimization) ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ์ตœ์ ํ™” ๊ธฐ๋ฒ• ์ตœ์ ํ™” ๋ชจ๋ธ์˜ 3์š”์†Œ 1) ์ œ์•ฝ์กฐ๊ฑด(Contraints) - ํŠน์ • ์ œ์•ฝ์„ ๊ฑฐ๋Š” ์กฐ๊ฑด์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด x๋Š” 0 ๋ณด๋‹ค ํฐ ๊ฐ’์ด๋‹ค, -x์™€ y๋ฅผ ๋”ํ•˜๋ฉด 2๋ณด๋‹ค ์ž‘๋‹ค์ž…๋‹ˆ๋‹ค. 2) ๊ฒฐ์ •๋ณ€์ˆ˜(Decision Variable) - ์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ ์ž ํ•˜๋Š” ๋ณ€์ˆ˜์ธ x, y๋Š” k ๊ฐ’์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒฐ์ •๋ณ€์ˆ˜๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค 3) ๋ชฉ์  ํ•จ์ˆ˜(Objective Function) - ์ตœ๋Œ€ํ™”ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฐ’ k๋Š” ์ด ๋ฌธ์ œ์˜ ๋ชฉ์ ์ด ๋˜๋Š” ํ•จ์ˆ˜๋กœ ๋ชฉ์ ํ•จ์ˆ˜๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค

์˜์นด ์˜ˆ์•ฝ์„ ํšจ์œจ์ ์œผ๋กœ - ์ˆ˜ํ•™์  ๋ชจ๋ธ๋ง์„ ํ™œ์šฉํ•œ ์˜์นด ์˜ˆ์•ฝ ํ…ŒํŠธ๋ฆฌ์Šค

SOCAR Tech Blog

์ถ”์ฒœ ํ”„๋กœํ•„

ํ˜„์ง์ž์—๊ฒŒ ์—…๊ณ„ ์ฃผ์š” ์†Œ์‹์„ ๋ฐ›์•„๋ณด์„ธ์š”.

โ€Œ
โ€Œโ€Œ
โ€Œ
โ€Œ
โ€Œโ€Œ
โ€Œ
โ€Œ
โ€Œโ€Œ
โ€Œ
โ€Œ
โ€Œโ€Œ
โ€Œ
โ€Œ
โ€Œโ€Œ
โ€Œ

ํ˜„์ง์ž๋“ค์˜ '์ง„์งœ ์ธ์‚ฌ์ดํŠธ'๊ฐ€ ๋‹ด๊ธด ์—…๊ณ„ ์ฃผ์š” ์†Œ์‹์„ ๋ฐ›์•„๋ณด์„ธ์š”.

์ปค๋ฆฌ์–ด๋ฆฌ | ์ผ์ž˜๋Ÿฌ๋“ค์˜ ์ปค๋ฆฌ์–ด SNS