الگوریتم بهینهسازی روشی محاسباتی است که برای حل مسائل بهینهسازی بهکار میرود و هدف اصلی آن، یافتن مقدار یا ساختار بهینه بر اساس یک کریتریوم خاص است. مسائل بهینهسازی در حوزههای علمی و صنعتی مختلف از جمله مهندسی، علوم کامپیوتر، اقتصاد، مدیریت و زیستشناسی مورد استفاده قرار میگیرند. این الگوریتمها با استفاده از تکنیکها و روشهای خاص، تا زمانی که بهینهسازی به حداقل یا حداکثر مقدار تابع هدف برسد یا شرایط مسئله بهطور کامل برآورده شود، به محاسبه ادامه میدهند. این الگوریتمها، یک فضای جستوجو دارند که شامل مجموعهای از پارامترها یا متغیرها است و مسئله بهینهسازی بهصورت تعریفشده در این فضا، مدل میشود. بهبود عملکرد سیستمها، کاهش هزینهها و افزایش کارایی در مسائل مختلف، از جمله موارد اهمیت این الگوریتمها است. الگوریتم تپهنوردی یا Hill Climbing نیز نوعی الگوریتم بهینهسازی است که برای حل مسائل بهینهسازی مورد استفاده قرار میگیرد. این الگوریتم با هدف پیدا کردن نقطه بهینه یا گره بهینه در یک فضای جستوجو مورد استفاده قرار میگیرد. این الگوریتم به ازای هر حرکت، به طرز بهینهای به نقطهای نزدیکتر حرکت میکند و مقدار تابع هدف را در آنجا مورد ارزیابی قرار میدهد. اگر مقدار تابع هدف در نقطه جدید بهتر از مقدار قبلی باشد، الگوریتم ادامه پیدا میکند و در غیر این صورت، الگوریتم متوقف میشود. الگوریتم تپهنوردی به صورت متقارن در فضای جستوجو حرکت میکند و تا زمانی که نقطه بهینه را پیدا نکند، ادامه میدهد. این الگوریتم نقاط ضعفی نیز دارد، یکی از آنها این است که به سرعت در یک مینیمم محلی متوقف میشود و امکان دارد گره بهینه گلوبال نرسد، بنابراین، برای بهبود عملکرد این الگوریتم تغییراتی اعمال میشود که از جمله این تغییرات، استفاده از الگوریتمهای تپهنوردی با بازتاب تصادفی Simulated Annealing یا الگوریتمهای تپهنوردی چندشاخهای Multi-start Hill Climbing است.