Автор работы: Пользователь скрыл имя, 08 Апреля 2014 в 16:51, контрольная работа
Транспортная задача. Имеются n пунктов производства и m пунктов распределения продукции. Стоимость перевозки единицы продукции с i-го пункта производства в j-й центр распределения cij приведена в таблице, где под строкой понимается пункт производства, а под столбцом - пункт распределения. Кроме того, в этой таблице в i-й строке указан объем производства в i-м пункте производства, а в j-м столбце указан спрос в j-м центре распределения. Необходимо составить план перевозок по доставке требуемой продукции в пункты распределения, минимизирующий суммарные транспортные расходы.
Существует универсальный способ решения задач линейного программирования − симплекс-метод. Идея симплекс-метода заключается в следующем:
Для того чтобы решить задачу линейного программирования в Microsoft Excel, необходимо выполнить следующие действия:
Рассмотрим подробно использование Excel на примере решения следующей задачи.
Для производства столов и шкафов мебельная фабрика использует различные ресурсы. Нормы затрат ресурсов на одно изделие данного вида, прибыль от реализации одного изделия и общее количество имеющихся ресурсов каждого вида приведены в таблице. Определить, сколько столов и шкафов фабрике следует выпускать, чтобы прибыль от реализации была максимальной.
Составим математическую модель задачи. Пусть фабрика изготавливает x1 столов и x2 шкафов. По смыслу задачи эти переменные неотрицательны, x1, x2 ³ 0. Прибыль от реализации такого количества шкафов и столов составит F = 6x1 + 9x2 рублей. Ее нужно максимизировать: F = 6x1 + 9x2 ® max.
Теперь составим ограничения задачи.
Для изготовления x1 столов и x2 шкафов потребуется 0,2x1 + 0,1x2 древесины первого вида, запасы которой составляют 40 куб. м., поэтому 0,2x1 + 0,1x2 £ 40.
Для изготовления x1 столов и x2 шкафов потребуется 0,1x1 + 0,3x2 древесины второго вида, запасы которой составляют 60 куб. м., поэтому 0,1x1 + 0,3x2 £ 60.
Трудоемкость изготовления x1 столов и x2 шкафов составит 1,2x1 + 1,5x2, запасы которой составляют 371,1, поэтому 1,2x1 + 1,5x2 £ 371,1.
Решим задачу средствами Excel. Заполним ячейки исходными данными и формулами математической модели.
Таблица с исходными данными будет иметь вид, представленный на рисунке 14.
Рисунок 14 − Таблица с исходными данными
Введем формулы для расчета ограничений в диапазон ячеек E3:E5. Введем в ячейку E3 формулу и растянем ее до ячейки E5 включительно:
=СУММПРОИЗВ(B3:C3;$B$7:$C$7)
Введем формулу целевой функции в ячейку B9:
=СУММПРОИЗВ(B6:C6;B7:C7)
Таблица исходными данными и формулами математической модели в Excel имеет вид, представленный на рисунке 15.
Рисунок 15 − Таблица с исходными данными и
формулами математической модели
Вызовем надстройку «Поиск решения» и зададим необходимые условия:
Параметры поиска решения показаны на рисунке 16.
Рисунок 16 − Окно «Поиск решения»
Ограничения записываются через использование кнопки «Добавить», где вносятся обозначения ограничений задачи (рисунок 17).
Рисунок 17 − Добавление ограничения
Нажимаем «Найти решение» и сохраняем найденное решение, предварительно выбрав создание отчета (рисунок 18).
Рисунок 18 − Результаты поиска решения
Таблица Excel после получения решения представлена на рисунке 19.
Рисунок 19 − Результаты вычислений
Таким образом, следует производить 103 стула и 165 шкафов, при этом прибыль от реализации будет максимальна и составит 2103 рубля. В процессе производства будут остатки древесины первого и второго типа: 2,9 и 0,2 кубометра соответственно. Трудоемкость будет использована в полном размере.
Эти же данные видны в отчете по результатам (рисунок 20).
Рисунок 20 − Отчет по результатам
Таблица отчета по результатам дает информацию для анализа возможного изменения запасов недефицитных ресурсов при сохранении полученного оптимального значения целевой функции.
При анализе отчета по результатам следует обратить внимание на колонку «Состояние». Если статус имеет значение «Привязка», то это говорит о том, что ресурс, который соответствует ограничению, был использован полностью, т. е. этот ресурс является дефицитным.
Связывающие ограничения проходят через оптимальную точку, несвязывающие ограничения не проходят через оптимальную точку. Ресурс, представляемый связывающим ограничением, называют дефицитным, а ресурс, представленный несвязывающим ограничением – недефицитным. Или ресурсы относятся к дефицитным, если оптимальный план предусматривает их полное использование, при частичном использовании ресурсов они считаются недефицитными.
Ясно, что чем сложнее задача, чем больше в ней переменных и условий, тем утомительнее и дольше ее решать. В таких случаях удобно использовать специальные математические пакеты, или доступную многим программу MS Excel. Программа подберет оптимальное решение, выдаст отчеты для анализа решения задачи.
Система MathCAD − это интегрированная система программирования, ориентированная на проведение математических и инженерно-технических расчетов.
MathCAD требует от пользователя
корректного описания
Входной язык системы состоит из таких понятий и объектов, как идентификаторы, константы, переменные, массивы и другие типы данных, операторы и функции, управляющие структуры и т. д.
Алфавит входного языка системы определяет совокупность символов и слов, которые используются при задании команд, необходимых для решения интересующего пользователя класса задач. Алфавит системы MathCAD содержит:
К укрупненным элементам языка относятся типы данных, операторы, функции пользователя и управляющие структуры.
К типам данных относятся числовые константы, обычные и системные переменные, массивы (векторы и матрицы) и данные файлового типа.
Операторы − это элементы языка, с помощью которых можно создавать математически выражения. К ним относятся символы арифметических операций, знаки вычислений сумм, произведений, производной и интеграла и т. д.
Ряд операторов предназначен для сравнения двух величин. Они называются операторами отношения или логическими операторами: >, <, ³, £, ¹, =. Выражения с логическими операторами возвращают логическое значение, соответствующее выполнению или невыполнению условия, заданного оператором. Это значение является логической единицей <1>, если условие выполнено, и логическим нулем <0>, если оно не выполнено.
При указании имени функции с указанием аргумента она возвращает некоторое значение − символьное, числовое, вектор или матрицу. Функции могут входить в математическое выражение.
Функции задаются своим именем и значением аргумента в круглых скобках. В ответ на обращение к ним функции возвращают вычисленные значения. Рисунок 21 иллюстрирует работу с элементарными функциями.
Рисунок 21 − Работа с элементарными функциями
Константами называют поименованные объекты, хранящие некоторые значения, которые не могут быть изменены. В качестве имени числовых констант используются их числовые значения (к примеру, значения констант 0 и 1 есть соответственно ноль и единица).
В системе MathCAD используются и числовые константы, значениями которых являются числа с разной системой исчисления: десятичные, восьмеричные или шестнадцатеричные.
Числовые константы задаются с помощью арабских цифр, десятичной точки и знака - (минус). Например:
123 − целочисленная десятичная константа;
12.3 − десятичная константа с дробной частью (рисунок 22).
Рисунок 22 − Числовые константы
Переменные являются поименованными объектами, имеющими некоторое значение, которое может изменяться по ходу выполнения программы. Имена констант, переменных и иных объектов называют идентификаторами.
Тип переменной определяется ее значением; переменные могут быть числовыми, строковыми, символьными и т. д.
Идентификаторы в системе MathCAD могут иметь практически любую длину, и в них могут входить любые латинские и греческие буквы, а также цифры. Однако начинаться идентификатор может только с буквы. Кроме того, идентификатор не должен содержать пробелов. Некоторые спецсимволы (например, знак объединения _) могут входить в состав идентификаторов, другие (например, знаки операторов арифметических действии) — недопустимы. Нельзя использовать для идентификаторов буквы русского языка. Строчные и прописные буквы в идентификаторах различаются. Идентификаторы должны быть уникальными, т. е. они не могут совпадать с именами встроенных или определенных пользователем функций.
Обычные переменные отличаются от системных тем, что они должны быть предварительно определены пользователем, т. е. им необходимо хотя бы однажды присвоить значение.
В качестве оператора присваивания используется знак :=, тогда как знак = отведен для вывода значения константы или переменной. Попытка использовать неопределенную переменную ведет к выводу сообщения об ошибке − переменная окрашивается в ярко-красный цвет. Существует также жирный знак равенства, который используется либо как признак неравенства в операциях сравнения, либо как оператор приближенного равенства.
Переменные могут использоваться в математических выражениях, быть аргументами функций или операндом операторов. Далее мы рассмотрим особые виды переменных, в частности индексированные (элементы векторов и матриц), а также переменные с заданными пределами их изменения (ранжированные переменные).
Ранжированные переменные − особый класс переменных, который в системе MathCAD зачастую заменяет управляющие структуры, называемые циклами (однако полноценной такая замена не является). Эти переменные имеют ряд фиксированных значений (либо целочисленных, либо в виде чисел), с определенным шагом меняющихся от начального значения до конечного.
Ранжированные переменные характеризуются именем и индексом каждого своего элемента. Для создания ранжированной переменной целочисленного типа используется выражение
Name:=Nbegin..Nend
где Name − имя переменной, Nbegin − начальное значение, Nend − конечное значение, .. − символ, указывающий на изменение переменной в заданных пределах (рисунок 23).
Рисунок 23 − Ранжированные переменные
Ранжированные переменные широко применяются для представления числовых значений функций в виде таблиц, а также для построения их графиков. Любое выражение с ранжированными переменными после знака равенства инициирует таблицу вывода. Пример такой таблицы представлен на рисунке 24.
Рисунок 24 − Таблица вывода числовых значений
Ранжированные переменные широко применяются при построении графиков. Например, для построения графика некоторой функции f (x) прежде всего надо позаботиться о создании ряда значений переменной х, для этого она должна быть ранжированной (рисунок 25).
Рисунок 25 − Пример построения графика функции
Транспортная задача. Имеются n пунктов производства и m пунктов распределения продукции. Стоимость перевозки единицы продукции с i-го пункта производства в j-й центр распределения cij приведена в таблице, где под строкой понимается пункт производства, а под столбцом - пункт распределения. Кроме того, в этой таблице в i-й строке указан объем производства в i-м пункте производства, а в j-м столбце указан спрос в j-м центре распределения. Необходимо составить план перевозок по доставке требуемой продукции в пункты распределения, минимизирующий суммарные транспортные расходы.