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

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ

ВЫСШЕГО

ОБРАЗОВАНИЯ

"САНКТ-ПЕТЕРБУРГСКИЙ

ГОСУДАРСТВЕННЫЙ

 

УНИВЕРСИТЕТ

ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М. А. БОНЧ-БРУЕВИЧА" Факультет инфокоммуникационных сетей и систем

Кафедра сетей связи и передачи данных

ПРАКТИЧЕСКАЯ РАБОТА №8

«Решение технологической задачи» по дисциплине

«Оптимизация и математические методы принятия решений»

Вариант 8

Выполн ил: студент 2-го курса группы ИКПИ-32 Андреев А.А. Жилкин Д.А. Яковлев М.А.

Преподавате ль:

Владимиров С. А.

Санкт-Петербург

2025

Цель работы

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

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

Для рытья котлована под фундамент зернохранилища объемом м3 строители получили 3 экскаватора. Мощный — с производительностью 22.5 м3/час, с расходом топлива 10 л/час; средний — с характеристиками 10 м3/час и л/час; малый — с характеристиками 5 м3/час и 2 л/час. Экскаваторы могут работать вместе, не мешая друг другу. Запас топлива л. Для 8

варианта: = 2160, = 11/3, = 888.

Ход работы

1. Решение задания 1 (каким образом следует задействовать экскаваторы, чтобы выполнить работу как можно скорее).

Задача минимизации времени.

Пусть 1, 2, 3 — время работы трех экскаваторов (в часах), 12 — время работы первого и второго экскаватора при одновременной работе, 13 — время работы первого и третьего экскаватора при одновременной работе, 23 — время работы второго и третьего экскаватора при одновременной работе, 123 — время работы первого, второго и третьего экскаватора при одновременной работе. Причем: 1, 2, 3, 12, 13,

23, 123 ≥ 0.

min ( ) = + + + + + +

22.5 + 10 + 5 + 32.5 + 27.5 + 15 + 37.5 = 2160

10 + 11/3 + 2 + 41/3 + 12 + 17/3 + 47/3 ≤ 888

Найденный минимум: (0,0,0,0,0,24,48), ( ) = 72.

2. Решение задания 2 (каким образом следует задействовать экскаваторы, чтобы максимально сэкономить топливо и выполнить работу полностью).

Задача минимизации расхода топлива

min ( ) = 10 + 11/3 + 2 + 41/3 + 12 + 17/3 + 47/3

Найденный максимум: (0,0,216,0,0,0,0) ( ) = 792.

3. Подведение итогов.

Минимальное общее время работы достигается, если второй и третий экскаваторы проработают 15 часов вместе, а потом (или до этого) все три проработают 48 часов вместе. В итоге получиться 72 часов работы.

Минимальный расход топлива достигается при работе одного второго экскаватора. Экономия топлива составит: 888 – 792 = 96 литров.

GNU Octave

clc;

close all; clear all;

% Целевая функция

c1 = [1; 1; 1; 1; 1; 1; 1];

c2 = [10.0; 11/3; 2.0; 41/3; 12.0; 17/3; 47/3];

% Верхние границы переменных

u = [10000; 100000; 100000; 100000; 100000; 100000; 100000];

%Правая часть ограничений b = [2160; 888];

%Матрица ограничений

A = [22.5, 10.0, 5.0, 32.5, 27.5, 15.0, 37.5; 10.0, 11/3, 2.0, 41/3, 12.0, 17/3, 47/3];

%Отображение результатов минимизации времени disp('Минимизация времени');

[Xopt1, Fval1] = glpk(c1, A, b, [], u, 'SU', 'CCCCCCC', 1); disp(Xopt1);

disp(Fval1);

%Отображение результатов минимизации расхода топлива disp('Минимизация расхода топлива');

[Xopt2, Fval2] = glpk(c2, A, b, [], u, 'SU', 'CCCCCCC', 1); disp(Xopt2);

disp(Fval2);