الگوریتم چکه‌آب‌های هوشمند

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به ناوبری پرش به جستجو

الگوریتم چکه آب‌های هوشمند یا چکاه (به انگلیسی: Intelligent Water Drops)، یک الگوریتم بهینه‌سازی بر پایه هوش گروهی است.[۱] الگوریتم چکاه، الگوریتمی است که به گونه گروهی کار می‌کند و الهام گرفته از طبیعت است. این الگوریتم در اصل برای بهینه‌سازی ترکیبیاتی (Combinatorial optimization) به کار برده می‌شود ولی می‌توان آن را برای بهینه‌سازی پیوسته (Continuous optimization) نیز آماده ساخت. این الگوریتم نخستین بار در سال ۲۰۰۷ میلادی، برابر ۱۳۸۶ خورشیدی برای یافتن گشایش و راه حل برای مسأله فروشنده دوره‌گرد پیشنهاد شد.[۲] از آن پس، شماری از پژوهشگران در پی بهبود و به کار بستن این الگوریتم برای مشکل‌ها و مسئله‌های گوناگون بوده‌اند.

آشنایی[ویرایش]

کم و بیش، هر الگوریتم چکاه از دو بخش درست شده است: یک گرافی که نقش یک حافظه گسترده (distributed memory) را بازی می‌کند که بر روی آن خاک‌های لبه‌ها نگهداری می‌شود. بخش دیگر، که چندین چکه آب هوشمند (چکاه‌ها) هستند که روی لبه‌ها جاری شده و از گره‌ای از گراف به گره‌ای دیگر می‌روند و با این کار خاک لبه‌های گذر کرده را دگرگون کرده و کمی به خاک در خود دارنده می‌افزایند. این چکاه‌ها با همکاری و همچنین رقیبگری کاری می‌کنند تا گشایش‌های بهتری بیابند. این کار با دگرگونی خاک‌های روی گراف به گونه‌ای پیش می‌رود که گشایش‌های بهتر دسترس پذیرتر شوند. می دانیم که الگوریتم چکاه دست کم نیاز به دو چکاه دارد تا بتواند کار کند.

شبه-کد (pseudo-code)[ویرایش]

الگوریتم IWD دارای دو گونه پارامتر هست: پارامترهای ایستا (static) و پویا (dynamic). پارامترهای ایستا در هنگام پردازش الگوریتم IWD، پایا (constant) هستند. پارامترهای پویا پس از هر بار تکرار الگوریتم، مقداردهی اولیه می‌شوند. میتوان شبه-کد یک الگوریتم چکاه-پایه را در هشت گام زیر بیان کرد:

1) مقداردهی اولیه‌ی پارامترهای ایستا
الف. بازنشانی مسئله در قالب یک گراف
ب. مقدار‌دهی برای پارامترهای ایستا
2) مقداردهی اولیه‌ی پارامترهای پویا: سرعت و خاک چکاه‌ها
3) پخش کردن چکاه ها روی گراف مسئله
4) ساخت راه‌حل با چکاه‌ها به همراه به روزکردن سرعت و خاک
الف. به‌روزرسانی محلی خاک در گراف
ب. به‌روزرسانی سرعت و خاک روی چکاه‌ها
5) جستجوی محلی روی هر راه‌حل چکاه(این گام دلخواه هست)
6) به‌روزکردن خاک سراسری
7) به‌روزکردن بهترین راه‌حل کلی
8) به گام ۲ برو ا زمانی‌که شرط خاتمه ارضا شود

کاربردها[ویرایش]

برخی از کاربردهایی که با الگوریتم‌های چکاه-پایه پیاده‌سازی شده‌اند در زیر آورده شده‌اند:

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. Shah-Hosseini, H. (۲۰۰۹). "The intelligent water drops algorithm: a nature-inspired swarm-based optimization algorithm". International Journal of Bio-Inspired Computation. ۱ (۱/۲): ۷۱–۷۹.  Check date values in: |date= (help)
  2. Shah-Hosseini, H. (۲۰۰۷). "Problem solving by intelligent water drops". Proceedings of the IEEE Congress on Evolutionary Computation: ۳۲۲۶–۳۲۳۱.  Check date values in: |date= (help)
  3. Shah-Hosseini, H. (۲۰۰۸). "Intelligent water drops algorithm: a new optimization method for solving the multiple knapsack problem". Int. Journal of Intelligent Computing and Cybernetics. ۱ (۲): ۱۹۳–۲۱۲.  Check date values in: |date= (help)
  4. Duan; et al. (۲۰۰۹). "Novel intelligent water drops optimization approach to single UCAV smooth path planning". Aerospace Science and Technology. ۱۳ (۸): ۴۴۲–۴۴۹.  Check date values in: |date= (help)
  5. Kamkar; et al. (۲۰۱۰). "Intelligent water drops a new optimization algorithm for solving the Vehicle Routing Problem". IEEE International Conference on Systems, Man and Cybernetics: ۴۱۴۲–۴۱۴۶.  Check date values in: |date= (help)
  6. Fan; et al. (۲۰۱۰). "The Intelligent-Water-Drop Based Routing algorithm for MANET". Int. Conf. on Future Information Technology: ۲۵۳–۲۵۵.  Check date values in: |date= (help)
  7. Rayapudi, S. R. (۲۰۱۱). "An intelligent water drop algorithm for economic load dispatch". International Journal of Electrical and Electronics Engineering. ۵ (۱): ۴۳–۴۹.  Check date values in: |date= (help)
  8. Msallam; et al. (۲۰۱۱). "Improved intelligent water drops algorithm using adaptive schema". International Journal of Bio-Inspired Computation. ۳ (۲): ۱۰۳–۱۱۱.  Check date values in: |date= (help)
  9. Teymourian, E., Kayvanfar, V., Komaki, GH.M., Mostafa, M. «Enhanced intelligent water drops and cuckoo search algorithms for solving the capacitated vehicle routing problem». Information Sciences (Elsevier), 20/3/2016. doi:http://dx.doi.org/10.1016/j.ins.2015.11.036. 
  10. Hendrawan; et al. (۲۰۱۱). "Neural-Intelligent Water Drops algorithm to select relevant textural features for developing precision irrigation system using machine vision". Computers and Electronics in Agriculture. ۷۷ (۲): ۲۱۴–۲۲۸.  Check date values in: |date= (help)
  11. Shah-Hosseini, H. (۲۰۱۲). "Intelligent Water Drops algorithm for automatic multilevel thresholding of gray-level images using a modified Otsu's criterion". Int. J. of Modelling, Identification and Control. ۱۵ (۴): ۲۴۱–۲۴۹.  Check date values in: |date= (help)
  12. Shah-Hosseini, H. (۲۰۱۲). "An approach to continuous optimization by the Intelligent Water Drops algorithm". Procedia - Social and Behavioral Sciences. ۳۲: ۲۲۴–۲۲۹.  Check date values in: |date= (help)
  13. Niu; et al. (۲۰۱۲). "An improved Intelligent Water Drops algorithm for achieving optimal job-shop scheduling solutions". International Journal of Production Research. ۵۰ (۱۵): ۴۱۹۵–۴۲۰۵.  Check date values in: |date= (help)
  14. Noferesti; et al. (۲۰۱۲). "A Hybrid Algorithm for Solving Steiner Tree Problem". International Journal of Computer Applications. ۴۱ (۵): ۱۴–۲۰.  Check date values in: |date= (help)
  15. al-Taani; et al. (۲۰۱۲). "SOLVING THE MAXIMUM CLIQUE PROBLEM USING INTELLIGENT WATER DROPS ALGORITHM". The International Conference on Computing, Networking and Digital Technologies (ICCNDT2012): ۱۴۲–۱۵۱.  Check date values in: |date= (help)
  16. Hoang; et al. (۲۰۱۲). "Optimal data aggregation tree in wireless sensor networks based on intelligent water drops algorithm". IET Wireless Sensor Systems. ۲ (۳): ۲۸۲–۲۹۲.  Check date values in: |date= (help)
  17. Srivastava; et al. (۲۰۱۲). "Test Data Generation Based on Test Path Discovery Using Intelligent Water Drop". International journal of applied metaheuristic computing. ۳ (۲).  Check date values in: |date= (help)
  18. agarwal; et al. (۲۰۱۲). "Code coverage using intelligent water drop (IWD)". International Journal of Bio-Inspired Computation. ۴ (۶): ۳۹۲–۴۰۲.  Check date values in: |date= (help)
  19. Luangpaiboon, P. (۲۰۱۲). "Optimisation of Manufacturing Process Models via Intelligent Water Drop Algorithm". Applied Mechanics and Materials. ۲۱۷–۲۱۹: ۱۵۰۱–۱۵۰۵.  Check date values in: |date= (help)
  20. Khaleel; et al. (۲۰۱۳). "Using intelligent water drops algorithm for optimisation routing protocol in mobile ad–hoc networks". International Journal of Reasoning-based Intelligent Systems. ۴ (۴): ۲۲۷–۲۳۴.  Check date values in: |date= (help)
  21. Alijla; et al. (۲۰۱۳). "Intelligent Water Drops Algorithm for Rough Set Feature Selection". Intelligent Information and Database systems. ۷۸۰۳: ۳۵۶–۳۶۵.  Check date values in: |date= (help)
  22. Kayvanfar, V., and Teymourian, E.. «Hybrid intelligent water drops algorithm to unrelated parallel machines scheduling problem: a just-in-time approach». International Journal of Production Research (Taylor and Fransis), 04/06/2014. doi:http://dx.doi.org/10.1080/00207543.2014.923124. 
  23. Kayvanfar, V., Zandieh, M., Teymourian, E. «An intelligent water drop algorithm to identical parallel machine scheduling with controllable processing times: a just-in-time approach». Computational and Applied Mathematics (Springer), March 2017. doi:DOI: 10.1007/s40314-015-0218-3. 
  24. Teymourian, E., Kayvanfar, V., Komaki, GH. M., Khodarahmi, M. «An enhanced intelligent water drops algorithm for scheduling of an agile manufacturing system». International Journal of Information Technology & Decision Making (World Scientific Publishing Company), 2016/3. doi:DOI: http://dx.doi.org/10.1142/S0219622016500024. 
  25. Kayvanfar, V., Moattar Husseini, SM., Karimi, B., Sajadieh, M. «Bi-objective intelligent water drops algorithm to a practical multi-echelon supply chain optimization problem». Journal of Manufacturing Systems (Elsevier)، 2017/7/31. doi:https://doi.org/10.1016/j.jmsy.2017.05.004. 

پیوند به بیرون[ویرایش]

  • [۱] شناسه چشمه (source code) برای الگوریتم چکاه فروشنده دوره گرد با زبان #C
  • [۲] دیمه‌ای برای نظرجویی همگانی