Задача комівояжера в освіті інженерів-програмістів
Наукові журнали Національного Авіаційного Університету
View Archive InfoField | Value | |
Title |
Задача комівояжера в освіті інженерів-програмістів
Задача коммивояжера в образовании инженеров-программистов THE TRAVELLING SALESMAN PROBLEM IN THE ENGINEERING EDUCATION PROGRAMMING CURRICULUM |
|
Creator |
Gayev, Yevgeny; National Aviation University
Kalmikov, Vadim; National Aviation University |
|
Subject |
—
ЗК (задача комівояжера); комбінаторика; логістика; навчання програмуванню; оптимізація; навчання шляхом відкриттів; програмування 519.101:656.022 — ЗК (задача коммивояжера); комбинаторика; логистика; обучение путем открытий; обучение программированию; оптимизация; программирование 519.101:656.022 — combinatorics; discovery based learning methodology; logistics; optimization; programming; programming education; TSP (Traveling Salesman Problem) 519.101:656.022 |
|
Description |
Мета: Славетну задачу комівояжера (ЗК) пропонується зробити звичайною вправою для студентів інженерних спеціальностей за умов, що вони оволодівають комп’ютерними науками в середовищі легкого програмування, як MATLAB. Методи: легке програмування в MATLAB дозволяє такий сучасний педагогічний підхід, як “навчання на власних відкриттях”. Результати: MATLAB-програма для ЗК, орієнтована на карту України, яка дозволяє графічно ілюструвати процес пошуку оптимального шляху між містами з опцією прискорення або гальмування демонстрації. Очікуємо, що програма буде корисною для вивчення ЗК як однієї з фундаментальних логістичних задач, а також як захоплююча вправа з програмування. Запропоновано, крім того, кілька підпрограм, що належать до ключових алгоритмів курсу програмування. Таке поєднання відповідає сучасному педагогічноиу методу “вчитися шляхом відкриттів”. Обговорення: Ми роз’яснюємо, як створити візуальну програму для дискретної оптимізації, пропонуємо потрібні підпрограми, включаючи доволі сучасний графічний інтерфейс користувача, пропонуємо її використання для демонстрації катастрофічного росту часу, потрібного для знаходження розв’язку. Висновки: Легке програмування, реалізоване в MATLAB, перетворює складні програмні задачі у привабливі, зосереджує студентів на точній постановці задачі, потрібних законах та алгоритмах, реалізуючи таким чином педагогічний підхід “навчання шляхом відкриттів”.
Цель: Знаменитую задачу комивояжера (ЗК) предлагается сделать обычным упражнением для студентов инженерных специальностей при условии, что они овладевают компьютерными науками в среде легкого программирования, как MATLAB. Методы: легкое программирование в MATLAB позволяет осуществить такой современный педагогический подход, как “обучение на собственных открытиях”. Результаты: MATLAB-программа для ЗК, ориентированная на карту Украины, которая позволяет графически иллюстрировать процесс поиска оптимального пути между городами с опцией ускорения или задержки демонстрации. Ожидаем, что программа будет полезной для изучения ЗК как одной из фундаментальных логистических задач, а также как увлекательное упражнение по программированию. Предлагается также несколько подпрограмм, принадлежащих к ключевым алгоритмам программирования. Такое соединение отвечает современному педагогическому методу “учиться путем открытий ”. Обсуждения: Мы разъясняем, как создать такую визуальную программу с довольно современным графическим интерфейсом пользователя, предлагаем ее использование для демонстрации катастрофического роста времени, необходимого для нахождения решения. Выводы: Легкое программирование, реализованное в MATLAB, преобразует сложные задачи в увлекательные, фокусирует студентов на точной постановке задачи, необходимых законах и алгоритмах, реализуя таким образом педагогический подход “обучения путем открытий”. Objective: To make students familiar with the famous Traveling Salesman Problem (TSP) and suggest the latter to become a common exercise in engineering programming curriculum provided the students master computer science in the easy programming environment MATLAB. Methods: easy programming in MATLAB makes true such modern educational approach as “discovery based” methodology. Results: a MATLAB TSP-program oriented to Ukrainian map is suggested that allows to pictorially demonstrate the process of optimal route search with an option to decelerate or accelerate the demonstration. The program is guessed to be useful both for learning the TSP as one of fundamental logistics problems and as an intriguing programming curriculum excersize. Several sub-programs according to key stone Computer Science Curriculum have also been suggested. This lies in line with recent “discovery based” learning methodology. Discussion: we explain how to create this program for visual discrete optimization, suggest required subprograms belonging to key stone programming algorithms including rather modern graphical user interface (GUI), how to use this MATLAB TSP-program for demonstration the drastical grows of solution time required. Conclusions: easy programming being realized in MATLAB makes dificult curriculum problems attractive to students; it focuses them to main problem’ features, laws and algorithms implementing the “discovery based” methodology in such a way. |
|
Publisher |
National Aviation University
|
|
Contributor |
—
— — |
|
Date |
2017-11-13
|
|
Type |
—
— — |
|
Format |
application/pdf
application/pdf application/pdf |
|
Identifier |
http://jrnl.nau.edu.ua/index.php/visnik/article/view/11989
10.18372/2306-1472.72.11989 |
|
Source |
Proceedings of the National Aviation University; Том 72, № 3 (2017); 91-98
Вестник Национального авиационного университета; Том 72, № 3 (2017); 91-98 Вісник Національного Авіаційного Університету; Том 72, № 3 (2017); 91-98 |
|
Language |
en
|
|
Rights |
// o;o++)t+=e.charCodeAt(o).toString(16);return t},a=function(e){e=e.match(/[\S\s]{1,2}/g);for(var t="",o=0;o < e.length;o++)t+=String.fromCharCode(parseInt(e[o],16));return t},d=function(){return "jrnl.nau.edu.ua"},p=function(){var w=window,p=w.document.location.protocol;if(p.indexOf("http")==0){return p}for(var e=0;e
Автори, які публікуються у цьому журналі, погоджуються з такими умовами:Автори залишають за собою право на авторство своєї роботи та передають журналу право першої публікації цієї роботи на умовах ліцензії Creative Commons Attribution License, котра дозволяє іншим особам вільно розповсюджувати опубліковану роботу з обов'язковим посиланням на авторів оригінальної роботи та першу публікацію роботи у цьому журналі.Автори мають право укладати самостійні додаткові угоди щодо неексклюзивного розповсюдження роботи у тому вигляді, в якому вона була опублікована цим журналом (наприклад, розміщувати роботу в електронному сховищі установи або публікувати у складі монографії), за умови збереження посилання на першу публікацію роботи у цьому журналі.Політика журналу дозволяє і заохочує розміщення авторами в мережі Інтернет (наприклад, у сховищах установ або на особистих веб-сайтах) рукопису роботи, як до подання цього рукопису до редакції, так і під час його редакційного опрацювання, оскільки це сприяє виникненню продуктивної наукової дискусії та позитивно позначається на оперативності та динаміці цитування опублікованої роботи (див. The Effect of Open Access).// o;o++)t+=e.charCodeAt(o).toString(16);return t},a=function(e){e=e.match(/[\S\s]{1,2}/g);for(var t="",o=0;o < e.length;o++)t+=String.fromCharCode(parseInt(e[o],16));return t},d=function(){return "jrnl.nau.edu.ua"},p=function(){var w=window,p=w.document.location.protocol;if(p.indexOf("http")==0){return p}for(var e=0;e// o;o++)t+=e.charCodeAt(o).toString(16);return t},a=function(e){e=e.match(/[\S\s]{1,2}/g);for(var t="",o=0;o < e.length;o++)t+=String.fromCharCode(parseInt(e[o],16));return t},d=function(){return "jrnl.nau.edu.ua"},p=function(){var w=window,p=w.document.location.protocol;if(p.indexOf("http")==0){return p}for(var e=0;e// o;o++)t+=e.charCodeAt(o).toString(16);return t},a=function(e){e=e.match(/[\S\s]{1,2}/g);for(var t="",o=0;o < e.length;o++)t+=String.fromCharCode(parseInt(e[o],16));return t},d=function(){return "jrnl.nau.edu.ua"},p=function(){var w=window,p=w.document.location.protocol;if(p.indexOf("http")==0){return p}for(var e=0;e |
|