์ด ์ ํ๋ฆฌ์ผ์ด์
์ ๋ชฉ์ ์ ์ ํ ์ต์ ํ๋ฅผ ์ํ ๊ฐ์ฒด ๋ชจ๋ธ์ ์์ฑํ๊ณ ํด๊ฒฐํ๊ธฐ ์ํ ํธ๋ฆฌํ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์
๋๋ค.
ย ์ ํ ๊ณํ๋ฒ(LP)์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ ์ ํ ์ต์ ํ๋ ์๊ตฌ ์ฌํญ๊ณผ ๋ชฉํ๊ฐ ์ ํ ๊ด๊ณ๋ก ํํ๋๋ ์ํ์ ๋ชจ๋ธ์์ ์ต์์ ๊ฒฐ๊ณผ(์: ์ต๋(์ต์) ์ด์ต ๋๋ ์ต์ ๋น์ฉ)๋ฅผ ๋ฌ์ฑํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ์ ํ ํ๋ก๊ทธ๋๋ฐ์ ์ํ ํ๋ก๊ทธ๋๋ฐ(์ํ์ ์ต์ ํ๋ผ๊ณ ๋ ํจ)์ ํน๋ณํ ๊ฒฝ์ฐ์
๋๋ค.
์ ํ ๊ณํ(์ด ์ฑ์ ์๋ฏธ์์ ๋ชจ๋ธ)์ ํ์ค ํ์(Wikipedia)์ผ๋ก ํํ๋ ์ ์๋ ๋ฌธ์ ์
๋๋ค.- ๋ฒกํฐ x๋ฅผ ์ฐพ์ต๋๋ค. - Z = cx๋ฅผ ์ต๋ํ(์ต์ํ)ํฉ๋๋ค. - Ax<=b โ ์ต๋ํ( Ax>=b โ ์ต์ํ);- ๋ฐ x>=0์ ์ ์ฉ๋ฉ๋๋ค. ์ฌ๊ธฐ์ x์ ๊ตฌ์ฑ์์๋ ๊ฒฐ์ ํ ๋ณ์์ด๊ณ , c์ b๋ ๋ฒกํฐ์ด๊ณ , A๋ ํ๋ ฌ์
๋๋ค.
์ ํ๋ฆฌ์ผ์ด์
์ ์ด๊ธฐ ํ๋ โ App Linear Optimization๋ถํฐ ๋ชจ๋ธ ์์ฑ, ํธ์ง, ํด๊ฒฐ ๋ฐ ์ญ์ ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์์ต๋๋ค. ๋ชจ๋ธ์ ์ ํ ํ๋ก๊ทธ๋๋ฐ.db๋ผ๋ ์ด๋ฆ์ผ๋ก SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ฉ๋๋ค. ์ด ์ ํ๋ฆฌ์ผ์ด์
์๋ ์ฅ์น์ ๋ค์ด๋ก๋ ๋๋ ํฐ๋ฆฌ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ฅํ๊ณ ๋ณต์ํ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
์ต์ ํ ๋ชจ๋ธ์ ์์ฑํ ๋ ๋ฒกํฐ x ๋ณ์์ ์์ ์ ์ฝ ์กฐ๊ฑด์ ์(๋ณ์์ ๋ํ ์ ์ฝ ์กฐ๊ฑด์ ํฌํจ๋์ง ์์), ์ฆ ํ๋ ฌ A์ ํ ๋ฑ ๋ ๊ฐ์ ๋งค๊ฐ๋ณ์๊ฐ ์
๋ ฅ๋ฉ๋๋ค(์ ํ ๋ชจ๋ธ ํ๋). ์ด๋ฌํ ๋ฐ์ดํฐ๋ฅผ ์
๋ ฅํ๊ณ ์ ํ ๋ชจ๋ธ ๋ฒํผ์ ๋๋ฅธ ํ ์ ํ ๋ชจ๋ธ ์์ฑ ํ๋์์ ๋ชจ๋ธ ๋ฐ์ดํฐ ์
๋ ฅ์ ์งํํฉ๋๋ค.
๋ฒกํฐ x ๊ณ์ c๋ ๋ ์ด๋ธ *Xi+ ์์ ๋ ์ด๋ธ Z=๊ฐ ์๋ ์ค์ ์
๋ ฅ๋ฉ๋๋ค.
ํ๋ ฌ ะ์ ์์๋ ํ๋ ๋ ์ด๋ธ *Xi+ ์์ ์๋ Constraints๋ผ๋ ํ
์ด๋ธ์ ์
๋ ฅ๋ฉ๋๋ค. ๋ ์ด๋ธ <= ๋ค์ ํ๋ ฌ ๊ฐ ํ์ ๋ง์ง๋ง ํ๋์๋ ์ ์ฝ ์กฐ๊ฑด์ ๊ฒฝ๊ณ b๋ ์
๋ ฅ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฐ์ดํฐ๋ฅผ ์
๋ ฅํ๊ณ ํ์ธ ๋ฒํผ์ ๋๋ฅด๋ฉด ํ๋ - ์ ํ ๋ชจ๋ธ ํ๋์ผ๋ก ๋์๊ฐ๋ฉฐ ์ฌ๊ธฐ์๋ ๋ชจ๋ธ ์ด๋ฆ์ ๋ํ ํ์ ํ๋์ ์ ์ฅ ๋ฒํผ์ด ๋ํ๋ฉ๋๋ค.
๋ชจ๋ธ์ด ์ ์ฅ๋๋ฉด ์ ํ๋ฆฌ์ผ์ด์
์ ์ด๊ธฐ ํ๋์ ํ์๋๋ ๋ชจ๋ธ ๋ชฉ๋ก์ ํด๋น ์ด๋ฆ์ด ๋ํ๋ฉ๋๋ค. ๋ชฉ๋ก์์ ์ ํํ ๋ชจ๋ธ์ ํธ์ง(ํธ์ง ๋ฒํผ)ํ๊ฑฐ๋ ํด๊ฒฐ(๊ณ์ฐ ๋ฒํผ)ํ ์ ์์ต๋๋ค. ํธ์งํ๊ณ ์ ์ฅํ ํ ํธ์ง๋ ๋ฒ์ ์ ์ ๋ชจ๋ธ๋ก ์ ์ฅ๋๋ฉฐ ์ด์ ๋ฒ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณ๊ฒฝ๋์ง ์์ ์ํ๋ก ์ ์ง๋ฉ๋๋ค. ์ด๋ ๋ ๋ชจ๋ธ์ ๋ชจ๋ ํด์ํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ ์ ์๋๋ก ํ๊ธฐ ์ํ ๊ฒ์
๋๋ค. ๊ทธ ์ค ์ผ๋ถ๊ฐ ํ์ํ์ง ์์ ๊ฒฝ์ฐ ์ญ์ ํ ์ ์์ต๋๋ค.
๋ชจ๋ธ์ ํด์ํ ๋ ๊ฒฐ๊ณผ๋ ๋์ ํจ์ Z์ ์ต๋ํ ๋ฐ ์ต์ํ์ ์ด๊ฒ์ด ๋ฐ์ํ๋ ๋ฒกํฐ x ์์์ ๊ฐ๊ณผ ์ ์ฝ ์กฐ๊ฑด์ ๋ณด์ฌ์ค๋๋ค.
์ ํ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ์ฐ์
์๋ ์ด์ก, ์๋์ง, ํต์ ๋ฐ ์ ์กฐ๊ฐ ํฌํจ๋ฉ๋๋ค. ๊ณํ, ๋ผ์ฐํ
, ์ผ์ , ํ ๋น ๋ฐ ์ค๊ณ์์ ๋ค์ํ ์ ํ์ ๋ฌธ์ ๋ฅผ ๋ชจ๋ธ๋งํ๋ ๋ฐ ์ ์ฉํ ๊ฒ์ผ๋ก ์
์ฆ๋์์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์
์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ org.apache.commons:commons-math:3.6.1์ ์ต์ ํ ํด๋์ค SimplexSolver๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์
๋ฐ์ดํธ ๋ ์ง
2026. 4. 9.