در علم کامپیوتر، مسئله ای بهینه است که زیرمسئله های آن بهینه باشد. این ویژگی برای تعیین سودمندی در مسائل برنامه نویسی پویا و الگوریتم های حریصانه استفاده می شود. به طورمعمول، اگر بتوان اثبات کرد که زیر ساختارهای مسئله در هر گام بهینه است، از الگوریتم حریصانه برای حل مسئله با ساختار بهینه استفاده می شود(Cormen et al. pp. 381–2). در غیر این صورت از برنامه نویسی پویا و تداخل استفاده می شود.اگر الگور...