Омский государственный технический университет
Кафедра ИВТ
Дисциплина
«Вычислительные системы и сети»
Лабораторная работа № 4
Омск, 2019
Введение
Система — это совокупность объектов, например людей или механизмов, функционирующих и взаимодействующих друг с другом для достижения определенной цели. Данное определение предложено Шмидтом и Тейлором [Schmidt and Taylor, 1970]. На практике понятие системы зависит от задач конкретного исследования. Так, совокупность предметов, которые составляют систему в одном исследовании, может являться лишь подмножеством в иной системе, при проведении другого исследования.
Рассмотрим следующую задачу.
Цех может производить в день до 50 изделий А и до 20 изделий Б. Суточный ресурс металла в цехе составляет 60 кг, при этом на изделие А расходуется 1 кг металла, а на изделие Б -2 кг. Составить план выпуска изделий, обеспечивающий цеху максимальную прибыль. Известно, что изделие А приносит в два раза больше прибыли, чем изделие Б.
Переведем условия задачи в математическую форму:
Также, исходя из физического смысла задачи:
Требуется найти максимум функции прибыли:
Совокупность полученных уравнений будет являться математической моделью данной производственной задачи.
Для примера в приложении 2 приведена последовательность аналитического решения задачи минимизации.
Mathcad – «система компьютерной алгебры». Программная среда для автоматизации математических вычислений. Выражения и переменные задаются в наглядной форме подобно текстовому редактору, могут быть легко перемещены и скомпонованы в пределах рабочего поля, при этом встроенный «решатель» позволяет проводить автоматическое решение широкого класса задач, как в символьном, так и в числовом виде: нахождение интегралов и производных, преобразования Фурье, решение систем уравнений и т.д. Ввод осуществляется в месте расположения курсора, курсор может перемещаться мышью или клавиатурой, к примеру, при редактировании выражений.
Для решения задачи минимизации в системе Mathcad нужно лишь воспользоваться стандартной функцией Maximize/Minimize. Вначале рассмотрим более простую стандартную функцию Find для решения обычного уравнения.
Для ввода данных необходимо пользоваться панелями инструментов программы (возведение в степень, вызов вычисления «:=» и др), функции вроде Given и Find печатаются с клавиатуры с соблюдением регистра. Наберем в новом документе Mathcad следующие выражения:
Последние две строки являются проверкой полученного решения.
Решим систему уравнений с двумя неизвестными:
Проверка найденного решения:
Решение ещё одной системы:
Теперь используем изученные функции для решения производственной задачи:
3.1 Ознакомьтесь с методами составления рассматриваемых математических моделей.
3.2 Проанализируйте решение задачи оптимизации симплекс-методом, изложенные в приложении, а также методы решения задач в Mathcad.
3.3 Выполните в программе Mathcad оптимизацию задачи из пункта 2. Сравните результаты.
3.4 Оформите отчёт по ЛР (п. 4).
- титульный лист (см. приложение на последнем листе);
- описание решенных задач;
- скриншоты программ и результатов их выполнения;
- выводы.
Приложение 1. Титульный лист отчета по лабораторной работе
Министерство образования и науки РФ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Омский государственный технический университет»
Кафедра «Информатика и вычислительная техника»
Отчёт по лабораторной работе № ____
по дисциплине
«____»
|
Выполнил Студент гр. АБВ-101 Серый И.А. ______________ (подп., дата) Проверил Старший преподаватель каф. ИВТ Звонов А.О. ______________ (подп., дата) |
Омск, 201_
Приложение 2. Аналитическое решение задачи
Рассмотрим определение минимального значения целевой функции
F(X) = - x1 - 2x2 + x3
при следующих условиях. -x1 + 4x2 - 2x3≤6 x1 + x2 + 2x3≥6 2x1 - x2 + 2x3=4
Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных (переход к канонической форме). -1x1 + 4x2-2x3 + 1x4 + 0x5 = 6 1x1 + 1x2 + 2x3 + 0x4-1x5 = 6 2x1-1x2 + 2x3 + 0x4 + 0x5 = 4
Введем искусственные переменные x. -1x1 + 4x2-2x3 + 1x4 + 0x5 + 0x6+ 0x7 = 6 1x1 + 1x2 + 2x3 + 0x4-1x5 + 1x6+ 0x7 = 6 (1) 2x1-1x2 + 2x3 + 0x4 + 0x5 + 0x6 + 1x7= 4
Для постановки задачи на минимум целевую функцию запишем так: F(X) = -1x1-2x2+x3+Mx6+Mx7 => min За использование искусственных переменных, вводимых в целевую функцию, накладывается так называемый штраф величиной М, очень большое положительное число, которое обычно не задается. Полученный базис называется искусственным, а метод решения называется методом искусственного базиса. Причем искусственные переменные не имеют отношения к содержанию поставленной задачи, однако они позволяют построить стартовую точку, а процесс оптимизации вынуждает эти переменные принимать нулевые значения и обеспечить допустимость оптимального решения.
Из уравнений (1) выражаем искусственные переменные: x6 = 6-x1-x2-2x3+x5 x7 = 4-2x1+x2-2x3 которые подставим в целевую функцию: F(X) = -x1-2x2 + x3 + M(6-x1-x2-2x3+x5) + M(4-2x1+x2-2x3) => min или F(X) = (-1-3M)x1+(-2)x2+(1-4M)x3+(1M)x5+(10M) => min
Матрица коэффициентов A = a(ij) системы уравнений (1) имеет вид:
-1 |
4 |
-2 |
1 |
0 |
0 |
0 |
1 |
1 |
2 |
0 |
-1 |
1 |
0 |
2 |
-1 |
2 |
0 |
0 |
0 |
1 |
Базисные переменные это переменные, которые входят только в одно уравнение системы ограничений и притом с единичным коэффициентом.
Решим систему уравнений относительно базисных переменных:
x4, x6, x7
Полагая, что свободные переменные равны 0, получим первый опорный план: X1 = (0,0,0,6,0,6,4)
План |
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
0 |
x4 |
6 |
-1 |
4 |
-2 |
1 |
0 |
0 |
0 |
|
x6 |
6 |
1 |
1 |
2 |
0 |
-1 |
1 |
0 |
|
x7 |
4 |
2 |
-1 |
2 |
0 |
0 |
0 |
1 |
Индексная строка |
F(X0) |
10M |
1+3M |
2 |
-1+4M |
0 |
-1M |
0 |
0 |
Переходим к основному алгоритму симплекс-метода.
Дополним таблицу столбцом минимумов.
План |
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
min |
1 |
x4 |
6 |
-1 |
4 |
-2 |
1 |
0 |
0 |
0 |
- |
|
x6 |
6 |
1 |
1 |
2 |
0 |
-1 |
1 |
0 |
3 |
|
x7 |
4 |
2 |
-1 |
2 |
0 |
0 |
0 |
1 |
2 |
Индексная строка |
F(X1) |
10M |
1+3M |
2 |
-1+4M |
0 |
-1M |
0 |
0 |
0 |