Branch and bound

 

ºÐ±âÇÑÁ¤¹ýÀº ¿©·¯°¡ÁöÀÇ ÃÖÀûÈ­ ¹®Á¦, ƯÈ÷ ÀÌ»ê (discrete) °ú Á¶ÇÕÃÖÀûÈ­ (combinatorial optimization) ¿¡¼­ ÃÖÀû Çظ¦ ã±âÀ§ÇÑ ÀϹÝÀûÀÎ ¹æ¹ýÀÌ´Ù. ±×°ÍÀº ¾Ï¹¬ÀûÀÎ ¿­°Å ¹æ¹ý (implicit enumeration method) ºÎ·ù¿¡ ¼ÓÇÑ´Ù. ºÐ±âÇÑÁ¤¹ýÀº 1960 ³â¿¡ linear programming À» À§ÇØ A. H. Land ¿Í A. G. Doig °¡ An Automatic Method for Solving Discrete Programming Problems ¿¡ óÀ½ ¼Ò°³ÇÏ¿´´Ù.

ºÐ±âÇÑÁ¤¹ýÀº Àμö x (°¡´É¿µ¿ª (feasible region) À̶ó°í ºÒ¸®¿ò) ¿¡ ´ëÇØ ÇÔ¼ö f(x) ÀÇ ÃÖ¼Ò°ªÀ» ã´Â°ÍÀ̶ó°í Ç¥ÇöÇÒ¼ö ÀÖ´Ù. f ¿Í x ´Â ¸ðµÎ ÀÓÀÇÀÇ °ªÀÌ´Ù. ºÐ±âÇÑÁ¤ °úÁ¤Àº µÎ°¡Áö tool À» ÇÊ¿ä·Î ÇÑ´Ù.

ù°´Â ¿©·¯°³ÀÇ ÀÛÀº feasible subregion (ÀÌ»óÀûÀ¸·Î subregion À¸·Î ³ª´µ´Â) µéÀÌ feasible region À» ±¸¼ºÇÏ´Â ¹æ¹ýÀÌ´Ù. ÀÌ°ÍÀº ºÐ±â (branching) ¶ó°í ºÒ¸®´Âµ¥, ±× °úÁ¤ÀÌ subregion °¢°¢¿¡ ´ëÇØ Àç±Í ¹Ýº¹ °úÁ¤À» °ÅÄ¡°í, ¸¸µé¾îÁø subregion µéÀÌ ÀÚ¿¬½º·´°Ô search tree ¶Ç´Â branch-and-bound-tree ¶ó°í ºÒ¸®´Â tree ±¸Á¶¸¦ Çü¼ºÇϱ⠶§¹®ÀÌ´Ù. ±× ³ëµåµé °¢ÀÚ°¡ subregion ÀÌ µÇ´Â °ÍÀÌ´Ù.

µÎ¹ø°´Â bounding À¸·Î¼­, feasible subregion ³»¿¡¼­ ÃÖÀûÇظ¦ ã±âÀ§ÇÑ upper and low bound ¸¦ ºü¸£°Ô ã´Â ¹æ¹ýÀÌ´Ù.  

ºÐ±âÇÑÁ¤¹ýÀÇ ÇÙ½ÉÀº, (ÀÛ¾÷À» ÃÖ¼ÒÈ­ Çϱâ À§ÇØ) Ž»öÆ®¸®¿¡¼­ subregion A ÀÇ lower bound °¡ ´Ù¸¥ ÀÌ¹Ì °Ë»çµÈ subregion B ÀÇ upper bound º¸´Ù Å©´Ù¸é A ¸¦ Ž»ö¿¡¼­ Æó±âóºÐÇÏ´Â °£´ÜÇÑ ¹æ¹ýÀÌ´Ù. ÀÌ·¯ÇÑ ´Ü°è¸¦ Àý´Ü (pruning) À̶ó°í ºÎ¸¥´Ù. Àý´ÜÀº °Ë»çµÈ ¸ðµç subregion Áß¿¡¼­ º¼¼öÀÖ´Â minimum upper bound ¸¦ ±â·ÏÇÏ´Â Àü¿ªº¯¼ö m À» À¯ÁöÇÔÀ¸·Î½á ±¸ÇöµÈ´Ù. Áï lower bound °¡ m º¸´Ù Å« ¾î¶°ÇÑ ³ëµåµµ Æó±âóºÐ µÉ¼öÀÖ´Ù.

³ëµåÀÇ upper bound °¡ lower bound ¿Í match µÇ°í ±× °ªÀÌ µ¿µîÇÑ subregion ³»¿¡¼­ ÇÔ¼öÀÇ ÃÖ¼Ò°ª Àϼö°¡ ÀÖ´Ù. ¶Ç ¾î¶² °æ¿ì¿¡´Â ±×·¯ÇÑ ÃÖ¼Ò°ªÀ» Á÷Á¢ ã´Â ¹æ¹ýµµ ÀÖ´Ù. ÀÌ·¯ÇÑ µÎ°¡Áö °æ¿ì¸¦ ±× ³ëµå°¡ ÇØ°á (solved) µÈ°ÍÀ̶ó°í ¸»ÇÑ´Ù. ÀÌ·¯ÇÑ ³ëµå´Â ¾Ë°í¸®ÁòÀÌ ÁøÇàµÇ¾î °¡¸é¼­ ¾ðÁ¦µç pruned µÉ¼ö ÀÖ´Ù´Â °ÍÀ» ÁÖ¸ñÇ϶ó.

ÀÌ»óÀûÀ¸·Î´Â ºÐ±âÇÑÁ¤¹ýÀº Ž»öÆ®¸®ÀÇ ¸ðµç ³ëµå°¡ Àý´Ü (pruned) µÇ°Å³ª ÇØ°á (solved) µÇ¸é ³¡³­´Ù. ±×·¯ÇÑ °üÁ¡¿¡¼­ ¸ðµç non-pruned subregions Àº ÇÔ¼öÀÇ Àü¿ª ÃÖ¼Ò°ª°ú °°Àº upper and lower bounds ¸¦ °¡Áú°ÍÀÌ´Ù. ½ÇÁ¦·Î »ç¿ëµÉ¶§´Â ºÐ±âÇÑÁ¤¹ýÀº ÁÖ¾îÁø ½Ã°£ÀÌ Áö³ª¸é Á¾·áµÈ´Ù. ±×·¯ÇÑ °üÁ¡¿¡¼­ ¸ðµç non-pruned sections Áß¿¡¼­ minimum lower bound and the minimum upper bound ´Â Àü¿ªÃÖ¼Ò°ª (global minimum) À» Æ÷ÇÔÇÏ´Â °ªÀÇ ¹üÀ§·Î¼­ Á¤ÀÇÇÑ´Ù.

ºÐ±âÇÑÁ¤¹ýÀÇ È¿À²¼ºÀº »ç¿ëµÇ´Â branching and bounding algorithm ÀÇ È¿°ú¿¡ ÀüÀûÀ¸·Î ÀÇÁ¸ÇÑ´Ù. Áï À߸ø ¼±ÅÃÇϸé subregions ÀÌ ¸Å¿ì ÀÛ¾ÆÁú ¶§ ±îÁö ¾î¶² pruning µµ ¾øÀÌ ¹Ýº¹µÈ branching ¸¸ ÇÒ¼öµµ ÀÖ´Ù. ±×·¯ÇÑ °æ¿ì¿¡ ºÐ±âÇÑÁ¤¹ýÀº ºñÇö½ÇÀûÀ¸·Î Å« ¼Ò¸ðÀûÀÎ ¿­°Å (exhaustive enumeration of the domain) ·Î ȯ¿øµÉ °ÍÀÌ´Ù. ¸ðµç ¹®Á¦ ÇØ°áÀ» À§ÇÑ ¹ü¿ë bounding algorithm Àº Á¸ÀçÇÏÁö ¾ÊÀ¸¸ç ´©±º°¡ ¹ß°ßÇÒ °ÍÀ̶ó°í Èñ¸ÁÇÒ¼öµµ ¾ø´Ù. ±×·¯¹Ç·Î ÀϹÝÀûÀÎ Æз¯´ÙÀÓÀº °¢°¢ÀÇ ÀÀ¿ëÀ» À§ÇØ µû·Î ±¸ÇöµÉ ÇÊ¿ä°¡ ÀÖÀ¸¸ç branching and bounding algorithm Àº ±× °æ¿ì¿¡ Ưº°È÷ ¼³°èµÈ´Ù. ºÐ±âÇÑÁ¤¹ýÀº bounding method ¿Í Ž»öÆ®¸® ³ëµå¸¦ »ý¼ºÇÏ°í °Ë»çÇÏ´Â ¹æ¹ý¿¡ µû¶ó ºÐ·ùµÉ¼ö ÀÖ´Ù.

ºÐ±âÇÑÁ¤¹ýÀº ÀÚ¿¬È÷ º´·ÄºÐ»ê (parallel and distributed) ÀÇ ±¸Çö, ¿¹¸¦µé¸é ¼øȸÆǸſø ¹®Á¦ (Travelling Salesman Problem) °°Àº ¹®Á¦¿¡ »ç¿ëµÈ´Ù. Áï ¸¹Àº ºñ°áÁ¤ ³­ÇØ (NP-hard) ¹®Á¦¸¦ À§ÇØ »ç¿ëµÈ´Ù.

ºÐ±âÇÑÁ¤¹ýÀº ´Ù¾çÇÑ ÈÞ¸®½ºÆ½ÀÇ ±âÃÊ°¡ µÉ¼öÀÖ´Ù ¿¹¸¦µé¸é upper and lower bounds »çÀÌÀÇ Â÷ÀÌ°¡ ¾î¶² threshold º¸´Ù À۰ԵǸé branching À» ¸ØÃ߱⸦ ¿øÇÒ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ±× ÇعýÀÌ "½ÇÁ¦ÀûÀÎ ¸ñÀûÀ» À§Çؼ­´Â ÃæºÐÈ÷ ÁÁÀº (good enough for practical purposes)" ¶§ »ç¿ëµÇ¸ç ÇÊ¿äÇÑ °è»ê·®À» Å©°Ô ÁÙÀϼö ÀÖ´Ù. ÀÌ·¯ÇÑ Á¾·ùÀÇ ÇعýÀº ƯÈ÷ »ç¿ëµÇ´Â cost function ÀÌ noisy Çϰųª Åë°èÀû ÃßÁ¤ (statistical estimates) ÀÇ °á°ú À϶§, Áï Á¤È®ÇÏ°Ô ¾Ë¼ö´Â ¾øÁö¸¸ ¾î¶² È®·ü°ªÀÇ ¹üÀ§³»¿¡ ÀÖ´Ù´Â °ÍÀ» ¾Ë¶§¿¡ »ç¿ëµÈ´Ù. ¾ËÆĺ£Å¸ °¡ÁöÄ¡±â (Alpha-Beta Pruning) Àº ÃÖ¼ÒÃÖ´ë (Mini-max) ¹®Á¦¸¦ À§ÇØ »ç¿ëÇÏ´Â °ÍÀ¸·Î ºÐ±âÇÑÁ¤ÀÇ Æ¯º°ÇÑ ¹öÀüÀ̶ó°í ÇÒ¼öÀÖ´Ù. ............ (Wikipedia : Branch and bound)

term :

ºÐ±âÇÑÁ¤¹ý (Branch and bound)   ÃÖÀûÈ­ (Optimization)   ¼öÇÐ (Mathematics)   °æ¿µ°úÇÐ (Operation Research)   ºñ°áÁ¤ ¿ÏÀü (NP-complete)   ºñ°áÁ¤ ³­ÇØ (NP-hard)  ¼øȸÆǸſø ¹®Á¦ (Travelling Salesman Problem)   ¹è³¶¹®Á¦ (Knapsack problem)   ÈÞ¸®½ºÆ½ (Heuristic)   À¯Àü¾Ë°í¸®Áò (Genetic Algorithm)   ¾ËÆĺ£Å¸ °¡ÁöÄ¡±â (Alpha-Beta Pruning)   ÃÖ¼ÒÃÖ´ë (Mini-max)    Á¶ÇÕÃÖÀûÈ­ (Combinatorial Optimization)

site :

branch and bound : ÀüºÏ´ë ¹Ú¼øö ±³¼ö´Ô µ¿¿µ»ó (¡Ú¡Ú¡Ú)

¾Ë°í¸®Áò °­ÀÇ : ºÐ±âÇÑÁ¤¹ý : µµ°æ±¸

paper :

Unification of Kohonen Neural Network with the Branch-and-Bound Algorithm on Pattern Clustering : ¹Úâ¸ñ, ¿ÕÁö³², ´ëÇÑ»ê¾÷°øÇÐȸ, 1997