на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Решение транспортной задачи в векторной постановке в среде Maple
p align="left">· В ячейки D21:H21 записал ограничения, задающие требование о точном выполнении заявки каждого магазина. Как обычно, я записал соответствующую формулу в первую из этих ячеек:

{ =СУММ(B15:B18) }

Затем скопировал ее. При копировании формула автоматически меняется, задавая нужное ограничение. Правда, нужно следить при этом за правильной ориентацией данных. Например, в данном случае формулу нужно копировать в строку, а не в столбец.

· Затем задал следующую группу ограничений. Эти ограничения отвечают тому естественному условию, что со склада нельзя увести больше продукции, чем там имеется. Формула, помещенная в ячейку D22, имеет вид:

{ СУММ(B15:F15)}

Эта формула скопировать уже по столбцу D.

Подготовительный этап завершен - можно вызывать Решатель.

Для решения транспортной задачи воспользуемся процедурой Поиск решения, которая находится в меню Сервис.

После выбора данной команды появится диалоговое окно.

Поскольку в качестве критерия оптимизации нами выбрана минимизация цены на грузоперевозки, в поле Установить целевую ячейку введите ссылку на ячейку, содержащую формулу расчета общей цены грузоперевозки. В нашем случае это ячейка $D$19. Чтобы минимизировать значение конечной ячейки путем изменения значений влияющих ячеек (влияющими, в данном случае это и изменяемые ячейки, являются ячейки, которые предназначены для хранения значений искомых неизвестных), переключатель установите в положение минимальному значению;

В поле Изменяя ячейки введите ссылки на изменяемые ячейки, разделяя их запятыми; либо, если ячейки находятся рядом, указывая первую и последнюю ячейку, разделяя их двоеточием ($B$15:$F$17). Это означает, что для достижения минимальноq цены груз - перевозок будут меняться значения в ячейках B15 по F17, то есть будут изменяться количество груза, перевезенного по конкретному маршруту.

Если сейчас запустить процесс подбора параметров, то будет найден вариант, где все переменные равны нулю. И это правильно - если не перевозить ничего, то это самый дешевый вариант. Но нам необходимо перевезти груз, поэтому надо наложить некоторые ограничения для поиска решения.

В группе полей Ограничения нажмите кнопку Добавить. Появится диалог Добавление ограничения.

Следует ввести левую часть ограничения в левое поле, выбрать знак условия, накладываемого на значение и ввести правую часть ограничения. Как и в других случаях, можно не вводить ссылки на ячейки, а выделить мышью эти ячейки. После ввода одного ограничения следует нажать кнопку Добавить и ввести следующее. По окончании ввода всех ограничений нажмите на кнопку ОК. В диалоге появятся строки введенных ограничений.

Для изменения и удаления ограничений в списке Ограничения диалогового окна Поиск решения укажите ограничение, которое требуется изменить или удалить. Выберите команду Изменить и внесите изменения либо нажмите кнопку Удалить.

Рассмотрим более подробно условия, которые следует наложить на значения в некоторых ячейках для правильного решения задачи.

Первое условие $С$4:$F$8>=0. Оно означает, что объем перевозок не может быть отрицательным, то есть, если на складе не хватает минеральных удобрений, их не везут с пункта доставки, на который эти минеральные удобрения были завезены ранее. Грузопоток имеет только одно направление - от складов к пунктам доставки удобрений.

Второе условие $D$21:$H$21 >=$E$5:$I$5.

Оно означает, что значения в ячейках двадцать первой строки должны быть больше или равны значениям в ячейках пятой строки, то есть запросы пунктов доставки должны быть выполнены полностью. Перевыполнение объема поставок допустимо, а недовыполнение - нет.

И. наконец, третье, и последнее условие $D$22:$D$24<=$C$5:$C$7.

Оно означает, что значение в ячейке C5 должно быть меньше или равно значению в D22 т.д. В ячейках с D22 по D24 на листе находятся объемы поставок с конкретных складов. В ячейках с C5 по C7 - запасы на этих же складах. Так как невозможно вывести со склада больше, чем на нем есть, первое значение должно быть не больше второго.

Введенные условия должны позволить найти наиболее оптимальный вариант решения задачи.. Нажмите кнопку Выполнить для подбора решения.

После нахождения решения появляется диалог Результаты поиска решения

Глава 2. Maple для транспортной задачи

§1. Введение в Maple

Системы компьютерной алгебры (СКА) находят все более широкое применение во многих областях науки таких как: математика, физика, химия, информатика и т.д., техники, технологии, образовании и т.д. СКА типа Maple, Mathematica, MuPAD, Macsyma, Axiom, Reduce и Magma становятся все более популярны, и для решения задач преподавания математически ориентированных дисциплин, в научных исследованиях и промышленности. Данные системы являются мощными инструмента и для ученых, инженеров и педагогов. Исследования на основе СКА технологии, как правило, сочетают алгебраические методы с продвинутыми вычислительными методами. В это смысле СКА - междисциплинарная область между математикой и информатикой, в которой исследования сосредотачиваются как на разработке алгоритмов для символьных (алгебраических) вычислений и обработки на компьютерах, так и на создании языков программирования и программной среды для реализации подобных алгоритмов и базирующихся на них задач различного назначения.

Исследователи используют пакет Maple как важный инструмент при решении задач, связанных с их исследованиями. Пакет идеален (по нынешним понятиям) для формулировки, решения и исследования различных аналитических моделей. Его алгебраические средства существенно расширяют диапазон проблем, которые могут быть решены на качественно уровне.

Пакет Maple способен решать большое число, прежде всего, математически ориентированных задач вообще без программирования в общепринято смысле. Вполне можно ограничиться лишь описание алгоритма решения своей задачи, разбитого на отдельные последовательные этапы, для которых Maple имеет уже готовые решения. При этом, пакет Maple располагает большим набором процедур и функций, непосредственно решающих совсем не тривиальные задачи как то интегрирование, дифференциальные уравнения и др. О многочисленных приложениях Maple в виде пакетов и говорить не приходится. Тем не менее, это вовсе не означает, что Maple не предполагает программирования. И имея собственный достаточно развитый язык программирования (в дальнейшем Maple язык), пакет позволяет программировать в своей среде самые разнообразные задачи из различных приложений.

Программирование в среде Maple языка в большинстве случаев не требует, какого то особого программистского навыка (хотя его наличие и весьма нелишне), т.к. в отличие от других языков универсального назначения и многих проблем, но ориентированных Maple язык включает большое число математически ориентированных функций и процедур, позволяя только одним вызовом решать достаточно сложные самостоятельные задачи, например: решать системы дифференциальных или алгебраических уравнений, находить минимакс выражения, вычислять производные и интегралы, выводить графики сложных функций и т.д. Интерактивность языка обеспечивает простоту его освоения и удобство редактирования и отладки, прикладных Maple документов и программ. Реальная же мощь Maple языка обеспечивается не только его управляющими и структурами и структурами данных, но и все богатство его функциональных (встроенных, библиотечных, модульных) и прикладных (Maple документов) средств, созданных к настоящему времени пользователя и из различных прикладных областей, прежде всего, математических. Важнейшим преимущество Maple является открытость его архитектуры, что позволило в кратчайшие сроки создать широки кругом пользователей из многих областей науки, образования, техники и т.д. обширных наборов процедур и модулей, которые значительно расширили как его возможности, так и сферу приложений. К их числу можно с полны основание отнести и представленную в библиотеку, содержащую более 700 средств, дополняющих средства пакета, устраняющих ряд его недоработок, расширяющих ряд его стандартных средств и повышающих уровень совместности релизов пакета.

Средства используются достаточно широко как при работе с пакетом Maple в интерактивно режиме, так и при программировании различных задач в его среде.

Они представляют несомненный интерес при программировании различных задач в среде Maple, как упрощая собственно сам процесс программирования, так и делая его более прозрачны с формальной точки зрения.

§2. Управляющие структуры ветвления Maple языка (if предложение)

Достаточно сложные алгоритмы вычислений, обработки информации и/или управляющие (в первую очередь) не могут обойтись сугубо последовательной схемой, а включают различные конструкции, изменяющие последовательный порядок выполнения алгоритма в зависимости от наступления тех или иных условий: циклы, ветвления, условные и безусловные переходы (такие конструкции иногда называются управляющими). Для организации управляющих конструкций ветвящегося типа Maple язык располагает довольно эффективным средством, обеспечиваемые if предложением и имеющие следующие три формата кодирования:

(1)if <ЛУ >then <ПП >end if ;

(2)if <ЛУ >then <ПП1 >else <ПП2 >end if ;

(3)if <ЛУ1 >then <ПП1 >elif <ЛУ2 >then <ПП2 >else <ПП3 >end if ;

В качестве логического условия (ЛУ ) всех четырех форматов if предложения выступает любое допустимое булевское выражение, образованное на основе операторов отношения >=, логических операторов {and, or, not} и логических констант {true,false,FAIL}, и возвращающее логическое true значение. Последовательность предложений (ПП) представляет собой управляющую структуру типа следования, предложения которой завершаются : разделителе; для последнего предложения ПП кодирование разделителя необязательно. Во всех форматах, кроме последнего, ключевая фраза `end if` определяет закрывающую скобку (конец) if предложения и его отсутствие идентифицирует синтаксическую ошибку, вид которой определяется контексто if предложения. Каждому if слову должна строго со ответствовать своя скобка `end if`.

Первый формат if предложения несет следующую смысловую нагрузку: если результат вычисления ЛУ возвращает true значение, то выполняется указанная за ключевым then слово ПП, в противно случае выполняется следующее за if предложение, т.е. if предложение эквивалентно пустому предложению. При этом если if предложение завершается (;) разделителе, то выводятся результаты вычисления всех предложений образующих ПП, независимо от типа завершающего их ; разделителя. Следовательно, во избежание вывода и возврата излишней промежуточной информации, завершать if предложение рекомендуется (:) разделителе.

Второй формат if предложения несет следующую смысловую нагрузку: если результат вычисления ЛУ возвращает true значение, то выполняется указанная за ключевым then слово ПП1, в противно случае выполняется следующая за ключевым else слова ПП2. Замечание относительно вывода промежуточных результатов для случая первого формата if предложения сохраняет силу и для второго формата кодирования.

Третий формат if предложения несет смысловую нагрузку, легко усматриваемую из следующей общей R функции, поясняющей принцип выбора выполняемой ПП в зависимости от цепочки истинности предшествующих ей ЛУ j (j =1 ..k) в предложении.

§3. Программа решения транспортной задачи

Программа для решения транспортной задачи выполнена в среде математического пакета Maple.

После подключения библиотеки командой with(simplex) пользователю становится доступны функции и опции, указанные в следующей таблице 1 приложения.

Алгоритм программы решения транспортной задачи:

1. вводим первоначальные данные задачи

2. описываем все переменные

3. подключение библиотеки simplex

4. находим оптимальный план перевозок

5. находим минимальное значение функции

§4. Транспортная задача в векторных координатах (Для двух матриц)

Постановка задачи

Дальнейшим развитием темы является транспортная задача в векторной постановке. Пусть имеется несколько поставщиков однородной продукции (каждый с определенным запасом) и несколько потребителей этой продукции (с известными потребностями у каждого). Задана коммуникационная сеть (дороги, реки, воздушные линий и т.д.) связывающая каждого поставщика с каждым потребителем. На каждом пути определена стоимость перевозки единицы продукции и время перевозки. Это означает, что заданы две матрицы одинокого формата, т.е. число строк и число столбцов у матриц совпадает. На содержательном уровне требуется найти оптимальное управление, что одновременно минимизирует стоимость и время перевозки.

Страницы: 1, 2, 3, 4, 5, 6, 7



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.