точках, запам'ятовуючи максимальне з них. /Td> 
  Недоліком цього методу є велика обчислювальна вартість. Зокрема, в задачі комівояжера потрібно прорахувати довжини більше 1030 варіантів шляхів, що абсолютно нереально. Однак, якщо перебір всіх варіантів за розумний час можливий, то можна бути абсолютно впевненим у тому, що знайдене рішення дійсно оптимально. 
 Другий популярний спосіб заснований на методі градієнтного спуску (рис. 7). При цьому спочатку вибираються деякі випадкові значення параметрів, а потім ці значення поступово змінюють, домагаючись найбільшої швидкості росту цільової функції. Досягнувши локального максимуму, такий алгоритм зупиняється, тому для пошуку глобального оптимуму будуть потрібні додаткові зусилля. 
В  
 рис. 3 Метод градієнтного спуску 
  Градієнтні методи працюють дуже швидко, але з гарантують оптимальності знайденого рішення. Вони ідеальні для застосування в так званих унімодальних завданнях, де цільова функція має єдиний локальний максимум (він же - глобальний). Легко бачити, що завдання комівояжера унімодальної не є. tabletable border=0 cellpadding=0>
В  
 рис. 4 
 Типова практичне завдання, як правило, мультимодальна і багатовимірна, тобто містить багато параметрів. Для таких завдань не існує жодного універсального методу, який дозволяв би досить швидко знайти абсолютно точне рішення (рис. 8). /Td> 
 Однак, комбінуючи переборний і градієнтний методи, можна сподіватися отримати хоча б наближене рішення, точність якого буде зростати при збільшенні часу розрахунку. (Рис. 9) 
В  
 рис. 5 
 Генетичний алгоритм являє собою саме такий комбінований метод (рис. 10). Механізми схрещування і мутації в якомусь сенсі реалізують переборну частина методу, а відбір кращих рішень - градієнтний спуск. На малюнку показано, що така комбінація дозволяє забезпечити стійко хорошу ефективність генетичного пошуку для будь-яких типів завдань. /Td>
 рис. 10 
  Отже, якщо на деякій множині задана складна функція від кількох змінних, то генетичний алгоритм - це програма, яка за розумний час знаходить точку, де значення функції досить близько до максимально можливого. Вибираючи прийнятний час розрахунку, ми отримаємо одне з найкращих рішень, які взагалі можливо отримати за цей час [20]. 
В  
  2.5 Рішення завдання комівояжера.  
   Задача комівояжера є класичною оптимізаційної заду-чий. Суть її полягає в наступному. Дано безліч із п міст і матриця відстаней між ними або вартостей переїзду (залежно від інтерпретації). Мета комівояжера - об'їхати всі ці міста по найкоротшому шляху або з найменшими витратами на поїздку. Причому в кожному місті він має побувати один раз і свій шлях закінчити в тому ж місті, звідки почав. 
  Для вирішення пропонується наступне завдання: є п'ять міст, вартість переїзду між якими представлена ​​наступною матрицею: 
 1 
 2 
 3 
 4 
 5 
 1 
 0 
 4 
 6 
 2 
 9 
 2 
				
				
				
				
			
 4 
 0 
 3 
 2 
 9 
 3 
 6 
 3 
 0 
 5 
 9 
 4 
 2 
 2 
 5 
 0 
 8 
 5 
 9 
 9 
 9 
 8 
 0 
В       
 Для рішення задачі застосуємо наступний генетичний алгоритм. Рішення представимо у вигляді перестановки чисел від 1 до 5, що відображає послідовність відвідування міст. А значення цільової функції дорівнюватиме вартості всієї поїздки, обчисленої відповідно до вищенаведеної матрицею. В...