О некоторых особенностях применения недоопределенных моделей в робототехнике
Метод недоопределенных моделей. Вычисление местоположения робота по маякам. Решение задачи методом окружностей, методом недоопределенных вычислений. Комбинация алгоритмов. Вычислительные эксперименты. Обратная задача кинематики многозвенного манипулятора.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 19.01.2018 |
Размер файла | 448,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
О НЕКОТОРЫХ ОСОБЕННОСТЯХ ПРИМЕНЕНИЯ НЕДООПРЕДЕЛЕННЫХ МОДЕЛЕЙ В РОБОТОТЕХНИКЕ
Карпов В.Э., в.н.с., к.т.н., доцент
НИИ Информационных технологий, Москва
e-mail: karpov_ve@mail.ru
ВВЕДЕНИЕ
местоположение робот недоопределенный модель
Одним из весьма интересных и эффективных подходов, относящихся к программированию в ограничениях, являются недоопределенные модели (Н-модели). Программирование в ограничениях является максимально декларативным и основано не на описании алгоритма решения задачи, а на описании ее модели. Модель представляет собой совокупность отношений («ограничений») между параметрами задачи [1,2].
Постановка задачи в русле программирования в ограничениях формулируется следующим образом. Пусть на переменные x1, x2 ..., xn, областями значений которых являются множества X1 , X2 , ..., Xn , заданы ограничения Ci (x1 , x2 , ..., xn), i =1, k. Требуется найти наборы значений <a1 , a2 , ..., an> (ai Xi), которые бы удовлетворяли всем ограничениям одновременно.
Декларативность и вычислительная эффективность являются теми свойствами Н-моделей, которые делают их привлекательными для решения ряда характерных задач из области робототехники. Особенно это касается тех задач, которые, во-первых, должны решаться максимально быстро, пусть и с потерей качества, и, во-вторых, решение которых должно быть получено гарантированно. Ниже будут рассмотрены две такие задачи - задача определения местоположения робота по маякам и обратная кинематическая задача многозвенного манипулятора. Но прежде рассмотрим более подробно, что представляют собой Н-модели.
1. НЕДООПРЕДЕЛЕННЫЕ МОДЕЛИ
Метод недоопределенных моделей (Н-моделей) был предложен А.С.Нариньяни еще в начале 80-x годов и является весьма эффективной технологией решения задач удовлетворения ограничений в самой общей постановке [2]. В Н-моделях переменной сопоставляется недоопределенное значение (или Н-значение). Недоопределенное значение является промежуточным между полной определенностью (точное значение) и полной неопределенностью. В процессе вычислений Н-значение может становиться только более точным, гарантируя тем самым монотонность вывода.
Каждой переменной, участвующей в описании задачи, ставится в соответствие ее недоопределенное расширение (Н-расширение).
Недоопределенными расширениями могут быть точные значения, перечисление (множество подмножеств), множества, интервалы (для них характерна интервальная алгебра), мультиинтервалы и т.д.
Например, если универсум некоторой переменной есть множество целочисленных значений, то ее Н-расширением может быть полная неопределенность, перечисление, интервал или мультиинтервал.
Для вычисления Н-модели обобщенная вычислительная модель строится как четверка
M = (V, W, C, R),
где V - множество объектов из заданной предметной области, R - множество ограничений на значения объектов из V, W - множество функций присваивания (определяют новое значение объекта как функцию от текущего и присваиваемого значений), C - множество функций проверки корректности (определяют изменение значения объекта и проверяют правильность этого нового значения).
Каждому объекту v V сопоставлены универсум Xv и начальное значение из универсума, а также функция присваивания Wv и функция проверки корректности Cv.
Ограничения из R должны быть функционально интерпретируемыми, т.е. всякое отношение r(x1, , xn) должно быть представлено набором функций fi (i=1, , n), вычисляющих значение каждой переменной из X' на основании заданных значений других переменных. Функция fi называется функцией интерпретации отношения r, если
xi = fi (x1, , xi-1, xi+1, , xn ),
Такие функционально интерпретируемые отношения и называются ограничениями.
Далее модель представляется двудольным ориентированным графом, в котором выделены два типа вершин: объекты и функции. Входящие в вершину-функцию дуги соотносят с ней объекты - входные аргументы для функции, а исходящие указывают на объекты, в которые производится запись результатов.
Каждой объектной вершине сопоставляются тип и значение, а также функции присваивания и проверки корректности.
Процесс вычислений имеет потоковый характер: изменение объектных вершин сети активирует функциональные вершины, для которых эти объектные вершины являются входными аргументами, а исполнение функциональных вершин в свою очередь может вызывать изменение результирующих объектных вершин.
В приведенных ниже примерах решения задач используются числовые переменные; их н-расширения представлены интервалами и мультиинтервалами. Работа этих алгоритмов представляет собой последовательность итераций, которые продолжаются либо до тех пор, пока не будет достигнута требуемая точность, определяемая как разность длин интервалов до итерации и после, либо по истечении наперед заданного количества итераций.
Рассмотрим далее возможные решения двух конкретных задач.
2. ВЫЧИСЛЕНИЯ МЕСТОПОЛОЖЕНИЯ РОБОТА ПО МАЯКАМ
Пусть на плоскости (в ограниченной области) расположены N маяков с известными координатами. Там же находится робот, оборудованный вращающимся локатором. Локатор позволяет определять углы между собственным направлением робота (осью ориентации) и направлением на каждый из видимых маяков. Измерения производятся с некоторой погрешностью и могут быть как неточны, так и неверны (например, из-за помех, перекрытий области видимости и т.п.). Требуется с максимальной точностью и в кратчайшее время определить местоположение робота - его координаты и направление (ориентацию).
3. МЕТОД ОКРУЖНОСТЕЙ
Рассмотрим для начала метод «точного» решения задачи определения местоположения робота по маякам (А. Лоскутов, а также [3]). Пусть робот видит три маяка с заданными декартовыми координатами T1(x1,y1), T2(x2,y2), T3(x3,y3) соответственно. Локатор определяет направления на маяки относительно оси робота. Измеренные углы видимости маяков обозначим как 1, 2, 3. Будем считать, что робот определяет угол между маяками. Например, угол 12 между маяками T1 и T2 (12=1-2), а угол между T2 и T3 - 23 (рис. 1).
Рис. 1. Нахождение точки по трем маякам
Зная расстояние между маяками и угол 12, под которым виден соединяющий их отрезок, можно найти радиус окружности, проходящей через оба маяка и точку местоположения робота (дуги пары окружностей - геометрическое место точек, из которых отрезок l1,2 виден под углом 12). По теореме синусов для треугольника M12:
Найдем координаты центров окружностей O12 и O12'. Для этого найдем окружности радиуса R, проходящие через точки 1 и 2, или точки пересечения окружностей радиуса R с центрами в точках 1 и 2 соответственно.
Рис. 2. Нахождение центров окружностей O12 и O'12
,
.
Аналогичным образом определятся координаты других точек - центров окружностей, на пересечении пары которых лежит искомая точка. Далее производится отбор пересекающейся пары окружностей и определение точки пересечения методом, подобным используемому для нахождения центров окружности. Эта точка пересечения и будет искомой точкой M(xm,ym), задающей положение центра робота (точнее, координаты локатора). Для ее определения решается система уравнений:
(1)
Здесь xoij, yoij - координаты центров окружностей, проходящих через пары маяков i и j и точку местоположения робота, i, j=1,2,3, ij.
Угол ориентации робота можно найти, например, так:
(2)
Вычисления производятся для всех возможных троек точек. Результатом является интервалы на осях абсцисс и ординат, включающие в себя координаты всех найденных точек.
Если координата робота (xm или ym) совпадает с соответствующей координатой сразу двух маяков, то центр окружности, проходящей через них, будет бесконечно удален (в вычислительных экспериментах получались величины радиуса окружности порядка 1020), т.е. решение находится со слишком большой погрешностью.
Итак, данный метод позволяет определить положение робота, при точно заданных углах ориентации на маяки 1, 2, 3. Но так как эти углы определяются с некоторыми погрешностями 1, 2, 3 соответственно, то углы ориентации представляют собой интервалы [1-1, 1+1], [2-2, 2+2], [3-3, 3+3]. Использование интервальных вычислений в данном методе приводит к тому, что область положения робота определяется с чрезмерно большой погрешностью. Использование интервального произведения и деления ведет к накоплению ошибок и расширению искомой области. На рис.3 приведен пример такой области, найденной данным алгоритмом.
Рис.3. Область, найденная методом окружностей с использованием интервальных вычислений
Сплошная линия показывает истинную ориентацию робота, а пунктирными линиями обозначены вычисленные область местонахождения и зона ориентации робота . Как видно из рисунка, результаты вычислений совершенно неудовлетворительны.
4. МЕТОД НЕДООПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ
Попробуем решить эту же задачу методом Н-вычислений. Так как углы ориентации на маяки представлены интервалами, то это позволяет задать сектор, включающий истинное положение робота, исходя из видимости каждого из маяков (рис.4).
Рис. 4. Построение искомой области положения робота
Очевидно, что искомая область лежит на пересечении секторов. Каждый сектор зададим двумя прямыми, уравнения этих прямых накладывают ограничения на координаты и угол ориентации робота:
, i=1,2,3 (3)
Недоопределенное число (координаты и угол в нашем случае) будет представлено интервалом. Операции для таких чисел определяются в соответствии с правилами интервальной математики. Вследствие этого получим из уравнений (3) следующие ограничения:
(4)
которые обозначим функциями fi для i=1, 2, 3.
Здесь
Характерно, что теперь мы имеем дело с простой и естественной формой представления задачи (4), описанной в терминах ограничений Н-модели. При этом мы избавляемся от требуемых в «точном» методе окружностей многоступенчатых и сложных формул.
На первом шаге процесса примем следующие начальные интервалы для оценок координат и угла:
xm=[0, lx], ym=[0, ly], =[0, 360],
где lx, ly - размеры полигона.
Предполагается, что на каждом шаге исполняется первая функция из множества активных функций. На первом шаге итерации исполняется функция f1. В результате работы этой функции получаем новые интервалы для xm, ym, . После этого вызывается функции присваивания проверки корректности. Присваивая интервалу новое значение, они следят, чтобы левая граница интервала не превышала правую и предотвращают расширение границ интервала. Если произошло изменение значения одного из интервалов при выполнении какой-либо функции, все остальные функции ставятся в очередь. Далее исполняется следующая функция f2 из очереди. Итерационный процесс продолжается до тех пор, пока очередь не станет пустой.
5. КОМБИНАЦИЯ АЛГОРИТМОВ
Недостаток описанного выше метода заключается в том, что прямые, задающие ограничения, правильно ограничивают область только тогда, когда угол наклона прямых в (3) находится в нужной четверти, т.е. требуется дополнительная информация об угле , а начальное значение =[0, 360] может привести к нахождению неверной области.
Для задания начального интервала для достаточно найти одно значение, входящее в искомую область. Для этого можно применить метод окружностей. Получив таким образом начальное приближение *, определим начальный интервал , используя значения погрешностей i:
Если * будет найдена с большой погрешностью, то метод интервалов будет работать некорректно. Чтобы избежать этого, достаточно располагать маяки так, чтобы их соответствующие координаты не совпадали.
6. ВЫЧИСЛИТЕЛЬНЫЕ ЭКСПЕРИМЕНТЫ
Далее приведены результаты вычислительных экспериментов, проведенных Е.А. Коноплевой и Л.Л. Песковой.
Эксперименты показали, что алгоритм работает даже при расположении робота рядом с маяком (рис.5,а). Если робот находится точно между парой маяков, то алгоритм может отработать некорректно (рис.5,б), однако в некоторых случаях решение все равно может получиться вполне удовлетворительным (рис.5,в).
Рис.5 Ситуации различного взаимного расположения робота и маяков:
а) близкое к маяку расположения робота, б) совпадение абсцисс робота и маяков, в) совпадение абсцисс координат маяков, но с приемлемыми результатами, г) робот и два маяка на одной линии
Неприемлемая ситуация возникает и тогда, когда один из маяков загораживает от робота другой (робот находится на одной линии с маяками). В этом случае программе недостаточно входных данных (имеем два различных угла вместо трех) (рис.5,г). Однако достаточно лишь небольшого смещения с линии, как результаты вычисления координат вновь становятся вполне удовлетворительными (рис. 6).
Рис.6. Случай близости углов ориентации на маяки
На практике робот должен взаимодействовать более чем с тремя маяками. Такая избыточность нужна, т.к. могут существовать области потери видимости некоторых из маяков. В этой ситуации очень существенным становится механизм отбора групп реперных маяков.
Этот вопрос выходит за рамки данной работы. Отметим лишь, что целесообразным представляется введение механизма отбрасывания наиболее ошибочных измерений и введение признаков достоверности измерений местоположения (когда ошибка не превышает допустимую величину).
7. ОБРАТНАЯ ЗАДАЧА КИНЕМАТИКИ МНОГОЗВЕННОГО МАНИПУЛЯТОРА
Рассмотрим еще одну задачу. На этот раз из области управления манипулятором робота - обратную кинематическую задачу, в которой требуется определить управление, исходя из заданного целевого положения манипулятора. При этом будем считать, что нас интересует лишь заданная конечная точка, а направление схвата может быть произвольным. Более того, будем полагать, что движение звеньев манипулятора осуществляется в одной плоскости.
Итак, пусть имеется n-звенный манипулятор. Известны длины звеньев a1, a2, …an.
Рис.7. n-звенный манипулятор
Требуется определить углы поворота звеньев 1, 2, … n для того, чтобы позиционировать конец последнего звена (схват) в заданную точку M(xn, yn)
Координаты i-го звена определяются естественным образом:
или (5)
Рассмотрим, как решается задача для двухзвенного манипулятора в терминах Н-вычислений. Далее приведены результаты вычислительных экспериментов, проведенных В. Н. Солодовниковым и Д. А. Смалем с помощью программы Undef, реализующей решение задач методом недоопределенных вычислений.
Допустим, что длина звеньев манипулятора равна 1 и нам нужно позиционировать его в точку M(1.25, 1.25). Такая система описывается уравнениями
(6)
Здесь x и y - углы поворота первого и второго звена.
Рис.8. Двухзвенный манипулятор
Эти уравнения накладывают ограничения на углы в неявной форме. Множество функции интерпретации системы (6) будут выглядеть так:
(7)
Очевидно, что существует 2 решения: одно из них изображено на рисунке, а второе симметрично относительно прямой x = y. Оценочно можно сказать, что одно из решений (для угла x, например) лежит в интервале [0, 0.4] радиан, а второе - в интервале [0.5, 2]. В силу симметрии для угла y можно задать такие же начальные условия в виде мультиинтервала. Таким образом, получаем:
x = {[0;0.4][0.7;2]},
y = {[0;0.4][0.7;2]}.
Одной из вычислительных особенностей решения такой системы является введение дополнительных ограничений. Функции arccos и arcsin могут порождать бесконечное количество интервалов с периодом 2, поэтому для борьбы с этим введены ограничения на множество значений этих функций - от 0 до 2.
Результатом расчетов являются следующие мультиинтервалы (8 шаг итерации, точность = 10-6):
x = {[1.27209, 1.27209] [1.27209, 1.27209] [0.298703, 0.298703]},
y = {[0.298703, 0.298703] [0.298703, 0.298703] [1.27209, 1.27209]},
т.е. заданная точка может быть достигнута манипулятором, только если угол x равен 0.298703 радиан или 1.27209 радиан. Угол y, как и предполагалось, принимает такие же значения.
Характерной особенностью этой задачи является то, что вид решения зависит от числа звеньев и количества степеней из свободы. В простейшем случае двухзвенного манипулятора существует не больше двух его положений, в которых достигается заданная точка. Однако уже в случае работы манипулятора в трехмерном пространстве имеется бесконечное множество решений, которые образуют кривую в трехмерном пространстве.
8. ОСОБЕННОСТИ ОБРАТНОЙ КИНЕМАТИЧЕСКОЙ ЗАДАЧИ
Первой особенностью является специфика мультиинтервальных вычислений тригонометрических функций. В результате вычислений могут появляться интервалы, в которых не лежат решения. Это может произойти, например, при вычислении функция arccos. С каждой итерацией такие интервалы будут отсекаться, однако на последней итерации мы можем получить лишний интервал. Как правило, это может быть связано с наличием в мультиинтервале двух близколежащих, но все же различных интервалов, один из которых порожден arccos и не был отброшен.
Вторая особенность связана с тем, что уже в случае трёх звеньев задача, очевидно, имеет бесконечно много решений за исключением некоторых частных случаев. Зачастую в случае принципиально бесконечного числа решений процесс Н-вычислений не приводит к окончательному уточнению значений переменных, оставляя полученные решения в виде грубых интервалов. Даже если задавать начальные условия (интервалы) достаточно чётко, то они все равно могут содержать бесконечное множество решений, пусть и близких. Иными словами, мы можем надеяться получить приемлемую точность решения, только если будут заданы довольно точные начальные условия. Причем иногда эта ситуация наблюдается и в «простых» случаях, когда количество решений ограничено.
Это можно показать на примере решения уравнения x=2sin(x). Оно имеет три решения, однако, если начальные условия на x задать как [-10; 10], то - результат получится слишком грубым, хотя и правильным - [-2; 2]. Если же задать более точно начальные условия (x={[-3;-1.7] [-0.5;0.5] [1.7;3]}), то будут найдены достаточно точные решения: x = [0, 410-16] [1.89549, 1.89549]
ЗАКЛЮЧЕНИЕ
Разумеется, рассмотренные выше задачи являются типичными не только для робототехники. Однако, несмотря на их разноплановость, существуют некоторые принципиальные «робототехнические» требования к их решениям: минимизация вычислительных затрат и гарантированное получение хотя бы приблизительного решения.
Применение Н-моделей вполне отвечает этим требованиям. Кроме того, как было продемонстрировано, применение Н-моделей позволяет простым и естественным образом описывать задачу.
Однако существует ряд специфических проблем применения этого метода, прежде всего - получение слишком грубых диапазонов решений в некоторых ситуациях. Это характерно и для решения задачи ориентации робота по маякам, и для решения обратной кинематической задачи. Причем в задаче ориентации требуется серьезное уточнение начального угла ориентации, для чего приходится предварительно применять весьма трудоемкий метод окружностей.
Хуже обстоит дело в случае принципиальной неоднозначности решения задачи, как в обратной кинематической задаче многозвенного манипулятора. В таких задачах уточнение начальных интервалов помогает далеко не всегда. Отчасти это связано с особенностями работы с обратными тригонометрическими функциями и с неизбежными вычислительными погрешностями, приводящими иногда к бесконтрольному увеличению мощности мультиинтервалов, отчасти - с самими ограничениями, присущими Н-вычислениям.
Тем не менее, описанные Н-вычисления являются вполне работоспособными и, главное, достаточно пригодными для применения в реальных бортовых робототехнических системах.
ЛИТЕРАТУРА
1. Нариньяни А.С. Недоопределенность в системах представления и обработки знаний // Известия АН СССР: Техническая кибернетика. -1986. - № 5. - С.3-28.
2. Нариньяни А.С., Телерман В.В., Ушаков Д.М., Швецов И.Е. Программирование в ограничениях и недоопределенные модели // Информационные технологии. - 1998. - №7. - C.13-22.
3. Засед В.В. Алгоритм управления тележкой мобильного робота: http://www.roboclub.ru/master/2005/07/01/algorithm_89.html
Размещено на Allbest.ru
...Подобные документы
Прямая и обратная задача кинематики и позиционирования захвата манипуляционного робота. Разработка алгоритмов и решений, позволяющих организовать процесс нанесения рисунков на поверхность изделия при помощи робота-манипулятора FS03N фирмы Kawasaki.
дипломная работа [4,1 M], добавлен 17.09.2013Анализ методов решения разреженных недоопределенных систем линейных алгебраических уравнений с помощью эффективных алгоритмов, основанных на декомпозиции линейных систем и учете их сетевых свойств. Использование встроенных методов пакета Mathematica.
курсовая работа [4,2 M], добавлен 22.05.2014Решение типовых задач с помощью языка программирования Turbo Pascal и табличного процессора Microsoft Excel 2007. Обратная геодезическая задача, прямая угловая задача, обратная геодезическая засечка, решение системы линейных уравнений методом Гаусса.
курсовая работа [1,3 M], добавлен 11.01.2011Решение систем алгебраических линейных уравнений методом Гаусса. Вычисление обратной матрицы и определителя. Декомпозиция задачи. Схема взаимодействия интерфейсных форм. Описание процедур и функций. Тестирование разработанного программного продукта.
курсовая работа [1,1 M], добавлен 05.06.2012Метод хорд решения нелинейных уравнений. Вычисление интеграла методом Симпсона. Процесс численного решения уравнения. Окно программы расчета корней уравнения методом хорд. Алгоритм вычисления интеграла в виде блок-схемы. Выбор алгоритма для вычислений.
курсовая работа [832,6 K], добавлен 24.07.2012Восстановление математической модели задачи нелинейного программирования. Решение уравнений прямых. Метод линеаризации: понятие, особенности применения при решении задач. Нахождение точки максимума заданной функции. Решение задачи графическим методом.
задача [472,9 K], добавлен 01.06.2013Графическое решение задач. Составление математической модели. Определение максимального значения целевой функции. Решение симплексным методом с искусственным базисом канонической задачи линейного программирования. Проверка оптимальности решения.
контрольная работа [191,1 K], добавлен 05.04.2016Решение задачи линейного программирования графическим методом, его проверка в MS Excel. Анализ внутренней структуры решения задачи в программе. Оптимизация плана производства. Решение задачи симплекс-методом. Многоканальная система массового обслуживания.
контрольная работа [2,0 M], добавлен 02.05.2012Решение задачи линейного программирования симплекс-методом: постановка задачи, построение экономико-математической модели. Решение транспортной задачи методом потенциалов: построение исходного опорного плана, определение его оптимального значения.
контрольная работа [118,5 K], добавлен 11.04.2012Особенности решения транспортной задачи распределительным методом и анализ результатов. Построение математической модели, алгоритма. Создание программы для решения транспортной задачи распределительным методом в программной среде Borland Delphi 7.
курсовая работа [1000,7 K], добавлен 23.06.2012Математическая постановка транспортной задачи открытой модели методом потенциалов при известных показателях запаса груза поставщика и потребности потребителя; ее решение ручным способом и с помощью компьютерной программы, написанной в среде Delphi.
курсовая работа [167,2 K], добавлен 16.01.2011Краткий обзор решения транспортных задач. Экономическая интерпретация поставленной задачи. Разработка и описание алгоритма решения задачи. Построение математической модели. Решение задачи вручную и с помощью ЭВМ. Анализ модели на чувствительность.
курсовая работа [844,3 K], добавлен 16.06.2011Сущность симплекс-метода. Общая характеристика задачи о смесях. Разработка основных алгоритмов решения задачи. Решение задачи в среде визуального программирования Delphi. Проектирование интерфейса пользователя. Разработка форм ввода-вывода информации.
курсовая работа [476,6 K], добавлен 22.05.2012Математические основы оптимизации. Постановка задачи оптимизации. Методы оптимизации. Решение задачи классическим симплекс методом. Графический метод. Решение задач с помощью Excel. Коэффициенты целевой функции. Линейное программирование, метод, задачи.
реферат [157,5 K], добавлен 21.08.2008Решение задачи линейного программирования табличным симплексным методом и транспортной задачи венгерским методом. Построение имитационной модели гибкого производственного модуля. Алгоритмы автоматизированного проектирования средств вычислительной техники.
контрольная работа [117,9 K], добавлен 08.12.2010Целевая функция. Многоугольник решений. Решение задачи графическим методом. Линейное программирование. Составление симплекс–таблиц. Система ограничений. Система уравнений. Метод потенциалов. Опорное решение методом наименьших затрат. Матрица оценок.
контрольная работа [487,6 K], добавлен 29.09.2008Решение нелинейных уравнений методом простых итераций и аналитическим, простым и модифицированным методом Ньютона. Программы на языке программирования Паскаль и С для вычислений по вариантам в порядке указанных методов. Изменение параметров задачи.
лабораторная работа [191,0 K], добавлен 24.06.2008Отделение корней методом простых интеграций. Дифференцирование и аппроксимация зависимостей методом наименьших квадратов. Решение нелинейного уравнения вида f(x)=0 методом Ньютона. Решение системы линейных уравнений методом Зейделя и методом итераций.
курсовая работа [990,8 K], добавлен 23.10.2011Постановка и решение дискретных оптимизационных задач методом дискретного программирования и методом ветвей и границ на примере классической задачи коммивояжера. Этапы построения алгоритма ветвей и границ и его эффективность, построение дерева графов.
курсовая работа [195,5 K], добавлен 08.11.2009Алгоритм решения задач линейного программирования симплекс-методом. Построение математической модели задачи линейного программирования. Решение задачи линейного программирования в Excel. Нахождение прибыли и оптимального плана выпуска продукции.
курсовая работа [1,1 M], добавлен 21.03.2012