ILOG logo
KSTEC ȸ¿øÀ¸·Î °¡ÀÔÇϼ¼¿ä¤Ó»õ¼Ò½Ä | ·Î±×ÀÎ
 
title element1
License
- ¶óÀ̼¾½º
- ¶óÀ̼¾½º °ü¸®
Maintenance
Training
FAQ
Q&A

Q & A ... °Ô½ÃÆÇ  (Optimization)


¡Ø ¾È³çÇϽʴϱî..?
    ÀúÈñ KSTECÀÇ Á¦Ç°À̳ª ¼­ºñ½º¿¡ ´ëÇØ ±Ã±ÝÇϽŠÁ¡À̳ª ±â¼úÁö¿øÀ» ¿øÇϽô °í°´´ÔÀº ȸ»ç¸í,
    ºÎ¼­¸í, ¼º¸í, »ç¿ëÁ¦Ç°¸í, Á¦Ç° VERSIONÀ» ¸í½ÃÇÏ¿© Áֽñ⠹ٶø´Ï´Ù.

¡Ø °Ô½ÃÇϽг»¿ë¿¡ ´ëÇØ¼­´Â ½Å¼ÓÇÏ°Ô ´äº¯ÇØ µå¸®°Ú½À´Ï´Ù.
¡Ø ÇØ´çµÇ´Â Á¦Ç°±ºÀ» ¼±ÅÃÇϽŠÈÄ ÇÏ°í ½ÍÀ¸½Å ¸»¾¸À» Àû¾î ÁֽʽÿÀ.

Á¦ ¸ñ
[RE]C¾ð¾î¿Í °ü·ÃÇÏ¿© Áú¹®µå¸³´Ï´Ù.
ÀÛ¼ºÀÚ
À̺´±â
ÀÛ¼ºÀÏ
2012-11-23
Á¶È¸¼ö 1292 È¸
÷ºÎÆÄÀÏ Ã·ºÎµÈ ÆÄÀϾøÀ½.
¾È³çÇϼ¼¿ä.
KSTEC À̺´±âÀÔ´Ï´Ù.

1. C¿¡ ´ëÇÑ ¿¹Á¦´Â ¾Æ·¡ Æú´õ¸¦ Âü°íÇÏ½Ã¸é µË´Ï´Ù.
C:\Users\Byungki\Documents\IBM\ILOG\CPLEX_Studio124\cplex\examples\src\c

C¿Í C++Àº ±¸Çö»ó¿¡ Â÷ÀÌÁ¡ÀÌ ÀÖ½À´Ï´Ù.
C++Àº Concert °´Ã¼(ÃÖÀûÈ­ ±¸Çö¿¡ ÇÊ¿äÇÑ °´Ã¼¸¦ ¾²±â ÆíÇϵµ·Ï ¹Ì¸® Define µÈ °´Ã¼ ¹× ¹æ¹ýµé·Î ÁÖ·Î Ilo·Î ½ÃÀÛÇÏ´Â Class)¸¦ ÀÌ¿ëÇÏ¿© ÇÁ·Î±×·¡¹ÖÇÏ°Ô µÇ´Âµ¥,
C¿¡¼­´Â ÀÌ Concert °´Ã¼µéÀ» ÀÌ¿ëÇÏ½Ç ¼ö ¾ø°í, º¸´Ù Callable Library¸¦ ÅëÇØ ÇÁ·Î±×·¡¹ÖÀÌ ÀÌ·ç¾îÁý´Ï´Ù.
µ¿ÀÏÇÑ ¹®Á¦¸¦ Ç®±â À§ÇÑ ¿¹Á¦ÀÎ mipex1.c¿Í ilomipex1.cpp Äڵ带 ºñ±³ÇØ º¸½Ã¸é ÀÌ·¯ÇÑ Concert °´Ã¼µéÀÇ Àç»ç¿ë ¿©ºÎ°¡ ¹Ù·Î ÇÁ·Î±×·¡¹ÖÀÇ ºÐ·® Â÷À̱îÁö ¹ß»ý½ÃŰ´Â °ÍÀ» º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
µû¶ó¼­ ÇöÀç´Â ´ëºÎºÐ C++À» ÀÌ¿ëÇÏ¿© ±¸ÇöÇϰí ÀÖ½À´Ï´Ù.

2. Interactive Optimizer´Â µµ½ºÃ¢¿¡¼­ Ä¿¸Çµå¸¦ Á÷Á¢ ÀÔ·ÂÇϸ鼭 CPLEX¸¦ ÀÌ¿ëÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù.
cplex.exe ½ÇÇàÈÄ °áÁ¤º¯¼ö, ¸ñÀû½Ä, Á¦¾à½Ä, Ç®ÀÌ µîÀ» Ä¿¸Çµå·Î Á÷Á¢ ÀÔ·ÂÇϰųª È®ÀåÀÚ°¡ lpÀÎ ÆÄÀÏÀ» loadÇÏ¿© solveÇϴµ¥ ÀÌ¿ëµË´Ï´Ù.
ÀÌ interactive optimizer¿¡¼­´Â ÇϳªÇϳª ÀÔ·ÂÇϰųª lp ÆÄÀÏÀ» ¹Ì¸® ¸¸µé¾î¼­ ÀÌ¿ëÇϱ⠶§¹®¿¡, º¹ÀâÇÑ ¼ö½ÄÀ̳ª ´Ù¾çÇÑ data¸¦ ÀÌ¿ëÇÏ±â ¾î·Æ°í ÀÏȸ¼ºÀûÀÎ Ãø¸éÀÌ ÀÖ½À´Ï´Ù.
Callable library´Â C¸¦ ÀÌ¿ëÇÏ¿© ÇÁ·Î±×·¡¹ÖÇÒ °æ¿ì, CPLEX ¿£ÁøÀ» ÀÌ¿ëÇϱâ À§ÇÑ APIÀÔ´Ï´Ù.
ÇÁ·Î±×·¥À» ÇÏ¸é ´Ù¾çÇÑ data¸¦ ÀÌ¿ëÇÏ¿© ½ÇÇèÇϰųª ¿øÇÏ´Â ÇüÅ·Π°á°ú¸¦ ÀúÀåÇÏ°í °ËÁõÇϴµ¥ ¿ëÀÌÇϱ⠶§¹®¿¡, Interactive Optimizerº¸´Ù´Â ÇÁ·Î±×·¡¹ÖÀ» ÇÏ¿© ÀÌ¿ëÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
ÀÌ ÇÁ·Î±×·¥À» ±¸ÇöÇÏ´Â ¹æ¹ýÀº C, C++ µî ¿©·¯ ¹æ¹ýÀÌ Àִµ¥, CÀÇ °æ¿ì¿¡´Â Callable Library ¶ó´Â CPLEX ¿£ÁøÀ» ÀÌ¿ëÇϱâ À§ÇØ Á¤ÀÇµÈ API¸¦ »ç¿ëÇϰí,
C++ÀÇ °æ¿ì¿¡´Â Concert °´Ã¼¸¦ ÀÌ¿ëÇØ¼­ ÇÁ·Î±×·¡¹ÖÇÑ´Ù°í º¸½Ã¸é µÉ °Í °°½À´Ï´Ù.

3. Interactive Optimizer¸¦ ÀÌ¿ëÇÑ´Ù¸é, ¸ðµÎ ´Ù typing ÇÏ¿© ÀÔ·ÂÇÏ¿©¾ß ÇÕ´Ï´Ù. ÈçÈ÷ ¸»ÇÏ´Â Ç®°íÀÚ ÇÏ´Â ÃÖÀûÈ­ ¹®Á¦¸¦ ±×´ë·Î ÀÔ·ÂÇØ¾ß ÇÑ´Ù°í º¸½Ã¸é µË´Ï´Ù.
¾Æ·¡¿Í °°Àº È®ÀåÀÚ°¡ lpÀÎ ÆÄÀÏÀ» º¸½Ã¸é Data°¡ ¸ðµÎ ³ªÅ¸³­ ÃÖÀûÈ­ ¼ö½ÄÀ» ÀÔ·ÂÇϴµ¥, ÀÌ·¸°Ô ÀÔ·ÂµÈ ¼ö½ÄÀ» optimizeÇÏ°Ô µÇ¸é cplex ¿£ÁøÀÌ Ç®°Ô µË´Ï´Ù.
µû¶ó¼­ º°µµÀÇ CPLEX ¸ðµ¨¸µ(ILO °´Ã¼¸¦ ±¸ÇöÇÑ´Ù´øÁö)Àº ¾ø½À´Ï´Ù. (ÀÔ·ÂµÈ ºÎºÐ¿¡ ¸ðµç ÃÖÀûÈ­ ¹®Á¦ÀÇ ³»¿ëÀÌ ÀÌ¹Ì Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.)

\Problem name: prod.lp

Maximize
obj: - 10 make(1,1) - 10 make(1,2) - 10 make(1,3) - 10 make(1,4)
- 11 make(2,1) - 11 make(2,2) - 11 make(2,3) - 11 make(2,4)
+ 25 sell(1,1) + 26 sell(1,2) + 27 sell(1,3) + 27 sell(1,4)
+ 30 sell(2,1) + 35 sell(2,2) + 37 sell(2,3) + 39 sell(2,4)
Subject To
c1: 0.005 make(1,1) + 0.00714285714285714 make(2,1) <= 40
c2: 0.005 make(1,2) + 0.00714285714285714 make(2,2) <= 40
c3: 0.005 make(1,3) + 0.00714285714285714 make(2,3) <= 32
c4: 0.005 make(1,4) + 0.00714285714285714 make(2,4) <= 40
c5: make(1,1) - inv(1,1) - sell(1,1) = -10
c6: make(1,2) + inv(1,1) - inv(1,2) - sell(1,2) = 0
c7: make(1,3) + inv(1,2) - inv(1,3) - sell(1,3) = 0
c8: make(1,4) + inv(1,3) - inv(1,4) - sell(1,4) = 0
c9: make(2,1) - inv(2,1) - sell(2,1) = 0
c10: make(2,2) + inv(2,1) - inv(2,2) - sell(2,2) = 0
c11: make(2,3) + inv(2,2) - inv(2,3) - sell(2,3) = 0
c12: make(2,4) + inv(2,3) - inv(2,4) - sell(2,4) = 0
Bounds
0 <= sell(1,1) <= 6000
0 <= sell(1,2) <= 6000
0 <= sell(1,3) <= 4000
0 <= sell(1,4) <= 6500
0 <= sell(2,1) <= 4000
0 <= sell(2,2) <= 2500
0 <= sell(2,3) <= 3500
0 <= sell(2,4) <= 4200
End

ÀÌ»óÀÔ´Ï´Ù.
°¨»çÇÕ´Ï´Ù.
°ü·Ã±Û º¸±â
"[RE]C¾ð¾î¿Í °ü·ÃÇÏ¿© Áú¹®µå¸³´Ï´Ù."¿Í(°ú) °ü·ÃµÈ ±ÛÀÌ  2°Ç ÀÖ½À´Ï´Ù.
C¾ð¾î¿Í °ü·ÃÇÏ¿© Áú¹®µå¸³´Ï´Ù. ÀÌÁöÇý 2012-11-21
[RE]C¾ð¾î¿Í °ü·ÃÇÏ¿© Áú¹®µå¸³´Ï´Ù. À̺´±â 2012-11-23
   [RE][RE]C¾ð¾î¿Í °ü·ÃÇÏ¿© Áú¹®µå¸³´Ï´Ù. ÀÌÁöÇý 2012-11-23