Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ИСПОЛЬЗОВАНИЕ ПАКЕТОВ ПРИКЛАДНЫХ ПРОГРАММ ДЛЯ РЕШЕНИЯ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

.docx
Скачиваний:
22
Добавлен:
31.03.2021
Размер:
158.5 Кб
Скачать

Министерство науки и высшего образования РФ

Федеральное государственное бюджетное образовательное

учреждение высшего образования

«Уфимский государственный авиационный технический университет»

Кафедра вычислительной математики и кибернетики

Отчет по лабораторным работам

по курсу «Исследование операций»

Вариант 1

ИСПОЛЬЗОВАНИЕ

ПАКЕТОВ ПРИКЛАДНЫХ ПРОГРАММ ДЛЯ РЕШЕНИЯ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ

Выполнили:

студенты группы МО-317

Шакиров А.Р.

Ибрагимова К.Б.

Проверила:

Тарасова Т.Д.

Уфа - 2020

Содержание

Введение 3

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

2. Математическая модель задачи 5

3. Получение оптимального решения в Excel 6

4. Получение оптимального решения в Mathcad 9

5. Получение оптимального решения в Scilab 10

Заключение 13

Список используемой литературы 14

Введение

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

Зная алгоритм решения данной конкретной задачи, можно составить программу ее решения на ЭВМ. Однако во многих случаях составление такой программы оказывается излишним, поскольку можно воспользоваться существующими информационными технологиями.

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

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

На швейной фабрике для изготовления четырех видов изделий (А, В, С, и D) может быть использована ткань трех артикулов. Нормы расхода тканей всех артикулов на пошив одного изделия приведены в таблице. В ней же указаны имеющееся в распоряжении фабрики общее количество тканей каждого артикула и цена одного изделия данного вида.

Артикул

ткани

Нормы расхода ткани (м) на одно изделие вида

Общее количество ткани

А

В

С

D

I

1

-

2

1

180

II

-

1

3

2

210

III

4

2

_

4

800

Цена одного изделия (у.е.)

9

6

4

7

Выпуск (шт):

Минимальный

Максимальный

5

560

2

650

10

300

-

-

Определить, сколько изделий каждого вида должна произвести фабрика, чтобы стоимость изготовленной продукции была максимальной?

  1. Математическая модель задачи

Данная задача является задачей линейного программирования. Сформулируем целевую функцию задачи.

Обозначим через х1 выпуск (шт.) изделий вида A, х2 - B, х3 - C, х4 - D. Математическая постановка состоит в определении максимального значения функции:

Сформируем систему ограничений.

Существует минимальное и максимальное количества для выпускаемых изделий A, B и C:

Также имеется конечный запас ткани по каждому артикулу:

Дополнительно на значения переменных накладываются ограничения неотрицательности.

Окончательно математическая модель задачи оптимизации выглядит следующим образом:

  1. Получение оптимального решения в Excel

Microsoft Excel – программа для работы с электронными таблицами, созданная корпорацией Microsoft для Windows и Mac OS. Она предоставляет возможности экономико-статистических расчетов, графические инструменты и язык макропрограммирования VBA (Visual Basic for Application). Microsoft Excel входит в состав Microsoft Office и на сегодняшний день Excel является одним из наиболее популярных приложений в мире.

Решим задачу с помощью «Поиск решения» в MS Excel. В ячейки рабочего листа программного средства вводятся исходные данные и формулы:

  • В ячейках В10:E10 будут находиться значения переменных х1, х2, х3 и х4 соответственно

  • В ячейки В6:E6 помещаются коэффициенты при переменных в целевой функции задачи.

  • В ячейку G6 вводится выражение целевой функции с использованием встроенной функции «СУММПРОИЗВ». Аргументами этой функции являются вышеуказанные массивы ячеек В10:E10 и В6:E6. Формула в ячейке G6, таким образом, имеет вид: =СУММПРОИЗВ(B6:E6;B10:E10).

  • В ячейки В7:D8 помещаются коэффициенты при переменных в ограничениях задачи.

  • В ячейки G3:G5 вводятся выражения левых частей ограничений также с использованием функции «СУММПРОИЗВ». Например, в ячейке G3 формула имеет вид: =СУММПРОИЗВ(B3:E3;$B$10:$E$10).

  • В ячейки F3:F5 вводятся значения правых частей ограничений.

Исходный рабочий лист MS Excel, таким образом, имеет вид:

Для решения задачи оптимизации запускается надстройка «Поиск решения» (меню «Данные») и заполняются все необходимые поля в панели надстройки:

В панели «Параметры поиска решения» указывается, что модель задачи оптимизации является линейной, и задается условие неотрицательности переменных.

После запуска надстройки «Поиск решения» на выполнение рабочий лист MS Excel, содержащий результаты решения, имеет вид:

Оптимальное решение – необходимо произвести 110 изделий вида A, 180 – B, 10 – C, а изделия вида D – не производить.

  1. Получение оптимального решения в Mathcad

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

Для того чтобы решить задачу линейного программирования в Mathcad, нужно сначала объявить целевую функцию. В данном случае она имеет вид . Затем, при помощи оператора «:=» запишем целевую функцию. Далее, укажем начальные значения переменных, также через оператор «:=».

После написания целевой функции создаем блок ограничений при помощи слова Given. Укажем все ограничения, наложенные на целевую функцию. Далее, создадим матрицу из одного столбца, в строках которой будут перечислены переменные . Этой матрице присвоим значение функции и поставим знак «=». В матрице выведутся значения , при которых целевая функция достигает максимума.

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

Все, написанные действия проиллюстрированы на рисунке ниже.

  1. Получение оптимального решения в Scilab

Scilab – пакет прикладных математических программ, предоставляющий открытое окружение для инженерных (технических) и научных расчётов. Это самая полная общедоступная альтернатива MATLAB.

Для решения задач линейного программирования в пакете Scilab существует библиотека Quapro Toolbox.

Quapro Toolbox предоставляет три функции:

  1. linpro – функция для решения задач ЛП.

  2. mps2linpro – функция перевода данных из формата MPS(специальный формат для задач ЛП) в формат для функции linpro.

  3. quapro – функция для линейно-квадратичной оптимизации.

Нам понадобится только функция linpro. Данная функция имеет следующий вид:

[x,lagr,f]=linpro(p,C,b[,ci,cs]),

И решает она задачу:

1.

2.

3.

Немного изменим целевую функцию, т.к. функция linpro решает задачу минимизации.

Теперь создадим новый sce файл, в котором запишем следующую программу:

C = [

1 0 2 1

0 1 3 2

4 2 0 4

]; //зададим матрицу С

b=[180 210 800]'; // зададим вектор b

ci=[5 2 10 0]'; // нижняя граница переменных

cs=[560 650 300 %inf]'; // верхняя граница переменных

p=[-9 -6 -4 -7]'; // коэффициенты при целевой функции

[x,lagr,f]=linpro(p,C,b,ci,cs) // сама функция

x // вывести значения переменных для оптимального решения

f // вывести значение ЦФ для оптимального решения

Запустим этот файл на исполнение и получаем следующее

Как видим, программа дала те же результаты, что и другие рассмотренные программные продукты.

  1. Выводы

При значениях переменных х1, х2, х3, х4, полученных при помощи различных пакетов, мы получили максимальное значение целевой функции .

С экономической точки зрения, значения переменных – выпуск (шт.) изделий соответствующего вида, а значение целевой функции – это стоимость изготовленной продукции

Оптимальное решение – необходимо произвести 110 изделий вида A, 180 – B, 10 – C, а изделия вида D – не производить.

Заключение

В ходе работы были получены навыки работы с пакетами прикладных программ MS Excel, Mathcad и sciLab.

Каждый пакет имеет свои преимущества и недостатки. Например, MS Excel позволяет работать прямо внутри таблицы с условиями задачи, но при этом неудобно вводить ограничения для поиска решения.

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

Список используемой литературы

  1. Акулич И.Л. «Математическое программирование в примерах и задачах», М. – Высшая школа, 1986

  2. Работа в системе Mathcad: Методические указания по выполнению лабораторных работ под ред. Воронина А.В.; Томск, 2004