|
Á¦ ¸ñ |
MIP¿¡¼ Á¤¼ö°ªÀÇ numerical error ¹®Á¦ |
|
ÀÛ¼ºÀÚ |
±Ç¼ºÈ |
ÀÛ¼ºÀÏ |
2003-02-15 |
Á¶È¸¼ö |
1110 ȸ |
|
÷ºÎÆÄÀÏ |
÷ºÎµÈ ÆÄÀϾøÀ½.
|
|
ÀÌ¹Ì ´Ù¸¥ºÐÀÌ Áú¹®ÇÑ ³»¿ë°ú À¯»çÇÑ Áú¹®ÀÔ´Ï´Ù.
1. IloInt ŸÀÔÀ¸·Î ¼³Á¤ÇÑ IloNumVarÀÇ °á°ú°ªÀ» ÀÐ¾î ¿Ã ¶§, cplex.getValue()·Î Àоî¿À¸é double°ªÀ̱⠶§¹®¿¡ ÀÌ °ªÀ» intÇüÀ¸·Î º¯È¯ÇÏ¸é ¹®Á¦°¡ »ý±æ ¼ö ÀÖ½À´Ï´Ù. ¹°·Ð, Á¤¼ö°ª°úÀÇ Â÷À̰¡ ¸Å¿ì ÀÛÀ¸¹Ç·Î ´«À¸·Î È®ÀÎÇÏ¸é ¹®Á¦°¡ ¾øÁö¸¸ ÀÌ °ªÀ» int·Î ÀúÀåÇÒ ¶§´Â error bound¸¦ °í·ÁÇØ¾ß ÇÕ´Ï´Ù. Á¦ Áú¹®Àº, ÀÌ ¶§ °í·ÁÇØ¾ß ÇÏ´Â error bound°¡ ¾ó¸¶ÀÎÁö ÇÏ´Â °Í ÀÔ´Ï´Ù. CPlex ÆÄ¶ó¹ÌÅÍ Áß¿¡, Integrality toleranceÀÎ IloCplex::EpIntÀÌ ÀÖ ´Âµ¥, ÀÌ °ªÀ» ±âÁØÀ¸·Î Á¤¼ö°ª°úÀÇ Â÷À̰¡ ÀÌ °ª º¸´Ù ÀÛÀ¸¸é ±× Á¤¼ö ·Î º¯È¯ÇÏ¸é ¹®Á¦°¡ ¾ø´Â Áö ¾Ë°í ½Í½À´Ï´Ù.
2. ºñ½ÁÇÑ Áú¹®ÀÔ´Ï´Ù. 1¹ø Áú¹®¿¡¼ÀÇ error bound¸¦ IloCplex::EpInt·Î ÇÏ´Â °ÍÀÌ ¸Â´Ù¸é, cplex.getObjValue³ª cplex.getValue(expr)°ú °°Àº °æ¿ì´Â ¾î¶»°Ô Çϸé ÁÁÀ»±î¿ä? (objective°¡ Á¤¼ö ÇüÅÂÀÎ °æ¿ì³ª, IloExprÀÌ Á¤¼öÇüÅ·ΠµÇ¾î ÀÖÀ» °æ¿ì) º¯¼ö Çϳª°¡ ¾Æ´Ï¶ó, ¿©·¯ º¯¼ö°¡ ¿¬°üµÇ¾î ÀÖ¾î¼, °¢°¢ÀÇ error°¡ ½× ¿©¼ Àüü ¿¡·¯°¡ IloCplex::EpIntº¸´Ù ¿¡·¯º¸´Ù Ä¿Áú ¼öµµ ÀÖÀ» °Í °°Àºµ¥... ¸¸ÀÏ ±×·¸´Ù¸é, getObjValue·Î ÀÐÀº °ªÀ» int·Î º¯È¯ÇÒ ¶§ error bound ¸¦ ¾î¶»°Ô °í·ÁÇϸé ÁÁÀ»±î¿ä?
´Ù¸¥ ºÐÀÌ Áú¹®ÇϽŠÁú¹®¿¡ ´ëÇÑ ´äº¯À» ã¾Æº¸´Ï, 0.001(?)Á¤µµ¸¦ ±âÁØÀ¸·Î ÇÏ¿© ÆÇ´ÜÇÏ¸é µÈ´Ù°í µÇ¾îÀÖ´õ±º¿ä. ±× º¸´Ù, Á» ´õ Á¤È®ÇÑ ±âÁØÀÌ ÀÖ¾úÀ¸¸é Çϰí Áú¹®À» µå¸³´Ï´Ù. ÁÁÀº ´äº¯ ±â´Ù¸®°Ú½À´Ï´Ù. |
|
|
|