Лабораторные работы. Владимиров / Оптимизация_Лабораторная_№2_Отчет
.pdfФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М. А. БОНЧ-БРУЕВИЧА»
ЛАБОРАТОРНАЯ РАБОТА №2
Нахождение целевой функции и оптимального решения симплекс-методом с использованием пакета Octave.
Решение двойственной задачи
Вариант 8
Выполнили: Студенты 2-го курса Дневного отделения Группы ИКПИ-32 Андреев А. А., Жилкин Д. А, Яковлев М. А. Преподаватель: Владимиров С. А.
Санкт-Петербург
2025
Цель работы
Научиться применять симплекс метод для решения задач нахождения оптимального плана. Сформировать целевую функцию, поставить прямую и двойственную задачи. Найти решение прямой и двойственной задачи с использованием современных методов программирования пакета Octave.
Постановка задачи
Предприятие после выполнения основной производственной программы располагает запасами сэкономленного сырья в трех видах S1, S2, S3. Из этого сырья может быть изготовлено 2 вида изделий Q1 и Q2. Количество единиц сырья, идущего на изготовление единицы вида изделия, и доход от реализации одной единицы каждого вида изделия, приведены в табл. 1. Требуется сформулировать математически задачу линейного программирования, руководствуясь целью получить максимальный доход при реализации дополнительной продукции предприятия. Решить прямую и двойственную задачи.
Таблица 1
Формальная постановка задачи
Код программы
clc; close all; clear all; c= [ 3; 2; 0; 0; 0] u=[16, 30, 21, 30, 16] b=[21; 30; 16]
A=[3, 1, 1, 0, 0; 2, 2, 0, 1, 0; 0, 3, 0, 0, 1] fprintf('Решение задачи и значение целевой функции\n') [Xopt,Fval] = glpk(c,A,b,[],[],'SSS','CCCCC',-1)
fprintf('Решение задачи целочисленного программирования\n') [Xopt,Fval] = glpk(c,[A;eye(5)],[b;u'],[],[],'SSSUUUUU','IIIII',-1) fprintf('Решение двойственной задачи\n')
[Yopt,Zval,extra,redcosts] = glpk([b;u'],[A',eye(5)],c,[- Inf(1,3),zeros(1,5)],[],'LLLLL','CCCCCCCC')
fprintf('Решение целочисленной двойственной задачи\n')
[Yopt,Zval,extra,redcosts] = glpk([b;u'],[A',eye(5)],c,[-Inf(1,3),zeros(1,5)],[], 'LLLLL','IIICCCCC')
Результаты вычислений:
Контрольные вопросы:
1.Типовая задача ЛП – это задача оптимизации линейной целевой функции при линейных ограничениях. Например, максимизация прибыли при ограниченных ресурсах.
2.Формы математической модели ЛП:
o Стандартная форма:
oКаноническая форма: Все ограничения уравнения, переменные неотрицательны.
oСимметричная форма: Для задачи минимизации с неотрицательными переменными.
3.Определения:
oПлан – множество значений переменных, удовлетворяющих ограничениям.
oОпорный план – базисное решение системы ограничений.
oНевырожденный опорный план – все базисные переменные
положительны.
oВырожденный опорный план – хотя бы одна базисная переменная равна нулю.
oОптимальный план – план, дающий наилучшее значение целевой функции.
4.Экономическая интерпретация двойственной задачи – показывает ценность ресурсов, т.е. сколько можно заплатить за дополнительную единицу ресурса (двойственные оценки).
5.Суть двойственности – каждой задаче ЛП соответствует двойственная задача, в которой оптимальные решения содержат информацию о теневых ценах ограничений исходной задачи.
