Автор: Пользователь скрыл имя, 10 Февраля 2012 в 13:23, курсовая работа
В данной работе сделана попытка реализовать оптимизацию планирования потребностей ресурсов точным методом динамического программирования.
Введение 5
1 Расчётная часть 6
1.1 Постановка задачи 6
1.2 Математическая модель 6
1.3 Описание метода нахождения решения задачи 7
2 Описательная часть 10
2.1 Описание алгоритма задачи 10
2.2 Описание программы MathCAD 13
2.3 Контрольный пример 15
2.4 Инструкции пользователя 20
Заключение 21
Список сокращений 22
Список используемой литературы 23
Приложение А 24
Составленный алгоритм MathCAD можно разделить на 5 частей:
Рисунок 1 – Раздел ввода информации
x – массив остатков запаса на всех этапах;
z – массив значений заказа на всех этапах;
zf – массив значений заказа, при которых целевая функция f принимает минимальное значение;
f – массив значений целевой функции при принятии разных стратегий управления запасами;
Раздел нахождения затрат при принятии разных стратегий управления запасами приведен на рисунке 2.
Рисунок 2 – Раздел нахождения затрат при принятии разных стратегий управления запасами
Рисунок 3 – Раздел анализа
Рисунок 4 - Раздел применения оптимального управления и подсчета значения целевой функции
Рисунок 5 – Раздел выходных данных
Описанный в этом разделе алгоритм полностью автоматизирован и гарантирует правильное решение задачи динамического программирования при корректном вводе входной информации.
2.2 Описание программы MathCAD
Существует несколько математических пакетов, с помощью которых быстро, просто и эффективно выполняются сложные математические расчеты. Возможности приложения постоянно расширяются, все чаще используется не только в физико-инженерных расчетах, но и при решении задач экономики, в финансовых расчетах, в социологии и биологии.
При запуске MathCAD открывается окно приложения. В строке заголовка следует имя рабочего документа. После строки заголовка располагается панель меню. Она содержит 9 пунктов (file, edit, view, format, tools, symbolic, window, help).
В каждом из них собраны команды, посредством которых, по большому счету, и реализуется весь спектр функциональных возможностей MathCAD. Команды сгруппированы в зависимости от их назначения.
Панель меню представляет собой одну из наиболее важных панелей инструментов MathCAD. При редактировании документов полезными будут стандартная панель инструментов и панель форматирования, содержащая кнопки, дублирующие те команды, которые имеют непосредственное отношение к форматированию текстовых полей. Математическая панель инструментов содержит кнопки, позволяющие быстро и эффективно оперировать с математическими объектами в рабочем листе.
Также в MathCAD предусмотрена возможность вносить изменения во внешний вид рабочего документа, отображаемого приложением при запуске. Основной метод настройки панелей инструментов состоит в добавлении и удалении расположенных в ней кнопок. Сразу следует отметить, что выполнять такие манипуляции можно далеко не со всеми панелями. Обычно настраивают стандартную панель инструментов и панель форматирования.
Помимо панелей инструментов, существуют и другие способы выполнения настроек, которые непосредственно влияют на вид рабочего документа.
В MathCAD все команды пользователя выполняются в рабочем окне. Команды вводятся в месте размещения указателя в рабочей области. Последний по умолчанию имеет вид красного крестика. Изменить его положение на рабочем листе можно либо щелчком мыши, либо с помощью клавиш со стрелками.
Все
команды в рабочем листе
Практические возможности любого математического приложения определяются во многом тем набором встроенных функций, которые недоступны пользователю в работе.
Существует два способа вставки встроенной функции в рабочий документ.
Можно
просто ввести название функции непосредственно
с клавиатуры. Однако для этого
следует помнить и знать
В MathCAD переменным в качестве значений можно присваивать не только числа и текстовые строки, но и диапазоны значений. Если переменную после того, как ей присвоено значение, указать аргументом функции, то функция будет вычислена для каждого элемента последовательности – значения переменной. Таким образом, результат вычисления значения функции для аргумента, имеющего значение – диапазон, является диапазоном значений.
В MathCAD предусмотрены широкие возможности для работы с матрицами и векторами. Два этих объекта реализуются в виде массивов. Каждый массив имеет размерность. В этом смысле матрица является массивом размерностью два, а вектор – один. Для создания массива вызывают команду Insert/Matrix. Альтернативный вариант – воспользоваться палитрой Matrix.
Для решения уравнений в MathCAD предназначена функция root. Первым аргументом указывается функциональная зависимость, которая должна обращаться в нуль, а вторым переменная относительно которой решается уравнение.
В среде MathCAD реализована возможность решения систем уравнений, на практике системы обычно линейными не являются. Системы нелинейных уравнений решаются с помощью функции Find.
Чтобы в MathCAD вычислить определенный интеграл, существует специальный оператор, который выглядит также, как стандартное математическое обозначение для определенного интеграла. Вставка существующего оператора осуществляется нажатием комбинации <Shift>+<7>. Можно воспользоваться пиктограммой на палитре Calculus.
Очень просто создаются двумерные графики. Для вставки в рабочий документ двумерного графика вызывают команду Insert/Graph/X-YPlot.
Также MathCAD предоставляет возможность строить графики в полярной системе координат. В таком случае координата точки задается с помощью двух параметров: расстояние от точки до начала координат и угла между горизонтальной координатной осью и линией, соединяющей точку с началом координат.
Приложения MathCAD – не только достаточно мощный пакет для расчетов и символьных вычислений, но и удобная среда для составления программ. Причем специфика MathCAD такова, что в некоторых аспектах он превосходит другие популярные программные среды. Для создания программы в MathCAD предусмотрены специальные утилиты, посредством которых записываются программы, имеется специальная палитра Programming.
Главная проблема решения дифференциальных уравнений в MathCAD связана с отсутствием универсального способа решения.
В MathCAD можно аналитически вычислять производные, интегрировать и раскладывать функции в ряд Тейлора, выполнять преобразования Лапласа и Фурье, упрощать выражения и выполнять ряд других действий.
2.3 Контрольный пример
Дана задача:
Определите
оптимальную стратегию
Таблица 2 – Данные о спросе, затратах на оформление заказа и стоимости хранения товара на каждом этапе
Этап, i | Спрос, Di (единицы) | Затраты на оформление заказа, Ki (долл.) | Затраты на хранение продукции в течение периода, hi (долл.) |
1 | 2 | 3 | 4 |
1 | 10 | 20 | 1 |
2 | 15 | 17 | 1 |
Продолжение таблицы 2 | |||
1 | 2 | 3 | 4 |
3 | 7 | 10 | 1 |
4 | 20 | 18 | 3 |
5 | 13 | 5 | 1 |
6 | 25 | 50 | 1 |
Определим оптимум обычным алгоритмом прямой прогонки, за исключением того, что величины и допускают «общие платежи». Проведем вычисление минимума целевой функции на всех этапах при разных количественных значениях заказа, и соответственно, разных количественных значениях запаса на начало следующего этапа по формулам:
(2)
Объем запаса, переходящего из этапа i в этап i+1 высчитывается по формуле:
. Значение в предельном случае может удовлетворить спрос на всех последующих этапах.
Этап 1. Спрос на этапе 1 равен 10. Вычисляем значения целевой функции по формуле (1). Вычисленные данные отражены в таблице 3.
Таблица 3 – Вычисления на этапе 1
|