Скачиваний:
2
Добавлен:
02.11.2025
Размер:
425.87 Кб
Скачать

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М. А. БОНЧ-БРУЕВИЧА»

ЛАБОРАТОРНАЯ РАБОТА №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.Суть двойственности – каждой задаче ЛП соответствует двойственная задача, в которой оптимальные решения содержат информацию о теневых ценах ограничений исходной задачи.