|
Á¦ ¸ñ |
Á¤È®ÇÑ ¹®¹ý»ç¿ë ¿ä±¸ |
|
ÀÛ¼ºÀÚ |
Àӽºó |
ÀÛ¼ºÀÏ |
2008-10-30 |
Á¶È¸¼ö |
1318 ȸ |
|
÷ºÎÆÄÀÏ |
÷ºÎµÈ ÆÄÀϾøÀ½.
|
|
¾È³çÇϼ¼¿ä.
opl ÀÛ¼ºµÈ ¸ðµ¨ ÆÄÀÏÀ» È®ÀÎÇÏ¿© º¸¾Ò½À´Ï´Ù.
´ëü·Î ¿Ã¹Ù¸¥ ¹®¹ýÀ» »ç¿ëÇϼ̴µ¥, ¸î ºÎºÐ¿¡¼ À߸øµÈ ¹®¹ýÀ» »ç¿ëÇϼ̽À´Ï´Ù.
³»¿ëÀº ¾Æ·¡¿Í °°½À´Ï´Ù.
1. º¯¼ö ¼±¾ðºÎ
dvar Boolean X[targets][targets]; -> dvar boolean X[targets][targets]; Boolean ÀÇ ´ë¹®ÀÚ B¸¦ ¼Ò¹®ÀÚ b·Î »ç¿ëÇÏ¼Å¾ß ÇÕ´Ï´Ù.
2. Set ¼±¾ðºÎ
{range} TAR[targets] = ...; -> {int} TAR[targets] = ...; {} Ç¥ÇöÀº ¼ÂÀ» ÀǹÌÇÕ´Ï´Ù. µû¶ó¼ {range}´Â ¹üÀ§ ÁýÇÕÀ» ÀǹÌÇϴµ¥, opl¿¡¼´Â ¹üÀ§ ÁýÇÕÀ» »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù. µ¥ÀÌÅ͸¦ È®ÀÎÇØ º¸´Ï ¹üÀ§ ÁýÇÕÀ̶ó±â º¸´Ù´Â Á¤¼öÁýÇÕÀÌ ¿Ã¹Ù¸¥ °ÍÀ¸·Î ÆÇ´Ü µË´Ï´Ù. µû¶ó¼, {int}¸¦ »ç¿ëÇÏ½Ã¸é µË´Ï´Ù.
3. Á¦¾à ¼±¾ðºÎ
constraint(3-8) constraint(3-9)
¿©±ä Ưº°È÷ À߸øµÈ ºÎºÐÀÌ ¾Æ´Ï¶ó.. Á¦¾à ¸¶Áö¸· ºÎºÐ¿¡ ¼¼¹ÌÄÝ·ÐÀ» ºÙ¿©ÁÖ½Ã¸é µË´Ï´Ù.
if(j < k) { start_time[i][k] >= start_time[i][j] + z[i][j]*Duration_time[i][j] - M*(1-X[j][k]);//-fixed. semi-colon }; //constraint(3-8)
if(j < k) { start_time[i][j] >= start_time[i][k] + z[i][j]*Duration_time[i][k] - (M*X[j][k]);//-fixed. semi-colon }; //constraint(3-9)
¸¶Áö¸· Á¦¾àÀÎ,
forall(i in battery, j in targets) start_time[B][11] == 20; forall(i in battery, j in targets) finish_time[B][11] == start_time[B][11] + 5; //constraint(3-14)
ÀÌ ºÎºÐÀº Á¦¾à¿¡ Àû¿ëµÈ B¿Í 11 À妽º°¡ ¹«¾ùÀ» ÀǹÌÇÏ´ÂÁö ÀüÇô ¾Ë ¼ö°¡ ¾ø½À´Ï´Ù. forall ÇüÅ·Πi,j·Î ·çÇÁ¸¦ µ¹¸®½Ã´Âµ¥ ¶á±Ý¾øÀÌ B, 11 À妽º°¡ Æ¢¾î³ª¿Â ÀÌÀ¯¸¦ ¾Ë ¼ö°¡ ¾ø³×¿ä. ½±°Ô È®À뵃 ¼ö ÀÖ´Â ºÎºÐÀ̶ó°í »ý°¢ÇÕ´Ï´Ù.
ÀÌ»ó°ú °°ÀÌ ¼öÁ¤ÇϽøé, ¹®¹ýÀûÀ¸·Î ¹ß»ýÇÏ´Â ¿À·ù´Â ¸ðµÎ ¼öÁ¤µË´Ï´Ù.
°¨»çÇÕ´Ï´Ù. |
|
|
|