|
Á¦ ¸ñ |
°íÁ¤ºñ¿ë ¼ö¼Û¹®Á¦¿¡ ´ëÇÑ formulationÀÔ´Ï´Ù. °ËÅäºÎŹ |
|
ÀÛ¼ºÀÚ |
±è¼ºÅ |
ÀÛ¼ºÀÏ |
2007-08-29 |
Á¶È¸¼ö |
1094 ȸ |
|
÷ºÎÆÄÀÏ |
ºÎŹ(ilog)_1.txt(1665 Byte)
|
|
È¥ÇÕÁ¤¼ö°èȹ¹ýÀΰÍÀ¸·Î ¾Ë°í ÀÖÀ¸¸ç math ¸ðµ¨½Ã °è»ê½Ã°£ÀÌ ¸¹ÀÌ °É¸®´Â °ÍÀ¸·Î ¾Ë°í Àִµ¥ »ý°¢º¸´Ù ÇØ°¡ »¡¸® ³ª¿À³×¿ä ¸¸¾à À߸øµÈ ºÎºÐÀÌ ÀÖÀ¸¸é ¾Ë·ÁÁÖ¼¼¿ä ÀüȹøÈ£´Â 010-5083-1146 ÀÔ´Ï´Ù. ¹®Á¦³»¿ë°ú formulationÀ» ¿Ã¸³´Ï´Ù. 3°³ÀÇ Ã¢°í¿¡¼ 5°³ÀÇ °¡°Ô·Î ¹°°ÇÀ» ÇÒ´çÇÏ·Á°í ÇÕ´Ï´Ù. °¢ â°í¿¡¼ °¡°Ô·Î °¡´Â ÇÒ´ç·®ÀÌ sucapÀ̰í sucapÀÌ ÇÒ´çÀÌ µÇ´Â °¡°Ô±îÁöÀÇ °Å¸®°¡ capacity2ÀÔ´Ï´Ù. ¸¸¾à °¡°Ô¿¡ sucapÀÌ ÇÒ´çÀÌ µÇ¸é openÀÌ 1 ÀÌ µÇ¸é¼ °¡°Ô±îÁöÀÇ °Å¸®°¡ ¸ñÀû½Ä¿¡ Æ÷ÇԵ˴ϴÙ. µû¶ó¼ ÇÒ´ç·®Àº º¯µ¿ºñÀÇ ¿ä¼Ò·Î °Å¸®´Â °íÁ¤ºñÀÇ ¿ä¼Ò·Î ÃÖÀûÀÇ ÇÒ´ç°ú °íÁ¤µÈ °Å¸®¸¦ ÃÖ¼ÒÈÇÏ´Â °íÁ¤ºñ¿ë ¼ö¼Û¹®Á¦¸¦ º¯ÇüÇÑ formulationÀÔ´Ï´Ù. ÇÑ ¹ø °ËÅä ºÎŹµå¸³´Ï´Ù. int nbWarehouses = ...; int nbStores = ...; range Warehouses = 1..nbWarehouses; range Stores = 1..nbStores; int capacity1[Stores]=...; int capacity[Warehouses] = ...; int capacity2[Stores][Warehouses]=...; int cost[Stores][Warehouses] = ...; dvar boolean open[Stores][Warehouses];
dvar int sucap[Stores][Warehouses]; maximize sum(w in Warehouses, s in Stores) sucap[s][w] + sum(w in Warehouses, s in Stores)(cost[s][w]-cost[s][w] * open[s][w]); subject to { forall(w in Warehouses) sum(s in Stores) sucap[s][w] <= capacity[w]; forall(s in Stores) sum(w in Warehouses) sucap[s][w] <= capacity1[s]; forall(s in Stores, w in Warehouses) sucap[s][w]<=capacity2[s][w]*open[s][w]; forall(s in Stores, w in Warehouses) sucap[s][w]>=0; forall(w in Warehouses) sum(s in Stores) open[s][w]==1; }
nbWarehouses = 5; nbStores = 3; capacity1 = [100, 100,54];
capacity = [46,46,46,46,70]; capacity2 =[ [46,46,46,46,70],[46,46,46,46,70], [46,46,46,46,70],];
cost =[ [ 366, 366, 370, 354, 334 ], [ 346, 274, 234, 334, 314 ], [ 398, 366, 326, 394, 346 ], ]; |
|
|
|