- •Информатика
- •Предисловие
- •1. Задания к лабораторным работам
- •1.1. Варианты заданий к лабораторная работа № 1
- •Системы линейных алгебраических уравнений
- •1.2. Варианты заданий к лабораторная работа № 2
- •Аналитические выражения
- •1.3. Варианты заданий к лабораторная работа № 3
- •Исходные данные и тип интерполяционного полинома для анализа нелинейной цепи
- •Условия задачи Коши для дифференциального уравнения 1-го порядка
- •Условия задачи Коши для системы дифференциальных уравнений 1-го порядка
- •Вид входных сигналов и параметры схемы при анализе переходных процессов
- •Вид входных сигналов и параметры схемы при анализе переходных процессов
- •1.4. Варианты заданий к лабораторная работа № 4
- •2. Расчётно-графические задания
- •Аппроксимация таблично заданной функции одной переменной методом наименьших квадратов
- •Порядок аппроксимирующей функции
- •2.2. Решение задачи линейного программирования средствами MatLab
- •Затраты ресурсов
- •Варианты заданий
Порядок аппроксимирующей функции
2-я цифра варианта |
0, 5 |
1, 6 |
2, 7 |
3, 8 |
4, 9 |
a, f |
b, e |
c, d |
Значения m |
1, 3, 5 |
2, 4, 5 |
1, 2, 4 |
3, 4, 5 |
2, 4, 5 |
1, 3, 4 |
2, 3, 5 |
1, 3, 4 |
Таблица 2.1.3
Таблица «невязок»
m |
|
|
|
|
|
|
|
2.2. Решение задачи линейного программирования средствами MatLab
Задача поиска условного экстремума функции многих переменных часто встречаются в экономических расчётах для минимизации затрат, максимализации прибыли и т. п. При этом экономическая задача описывается системами линейных уравнений и неравенств и относится к задачам линейного программирования. Типичным примером является так называемая задача производственного планирования, которая решает проблему оптимального выпуска товаров, дающего максимально возможный доход.
Пример. Рассмотрим производство столов и стульев. Сведения о затратах ресурсов на единицу продукции, их наличии и о доходе от производимой продукции отражены в таблице 2.2.1.
Таблица 2.2.1.
Затраты ресурсов
Наименование ресурса |
Продукция |
Ограничения по ресурсу | |
Стул |
Стол | ||
Древесина (кг/шт.) |
5 |
25 |
500 |
Кожа (м2/шт.) |
0.5 |
0 |
15 |
Клей (г/шт.) |
100 |
250 |
7500 |
Трудозатраты (чел. час/шт.) |
10 |
10 |
400 |
Доход (руб./шт.) |
10 |
20 |
|
Доход (обозначим его символом ), очевидно, равен, гдеи− искомые (вместе с) значения количества стульев и столов соответственно. Математическая модель сформулированной задачи состоит в поиске максимума функциипри наличии следующих ограничений:
,
,
,
,
.
Для решения задач линейного программирования в MatLab используется функция linprog, которая ищет минимум для целевой функции при наличии ограничений
,
,
.
Простейшие две формы обращения к ней состоят в следующем:
x = linprog(f,A,b),
x = linprog(f,A,b,Aeq,beq,lb,ub),
[x,fv] = linprog(f,A,b,Aeq,beq,lb,ub),
где
f − вектор коэффициентов целевой функции − для нашего примера f=[10; 20];
A − матрица коэффициентов системы линейных неравенств A*xb − для нашего примера A=[5 25;0.5 0;100 250;10 10];
b − вектор свободных членов системы линейных неравенств A*xb − для нашего примера b=[500; 15; 7500; 400];
Aeq − матрица коэффициентов системы линейных равенств Aeq*x=beq − для нашего примера её нет (ставят пару пустых прямоугольных скобок []);
beq − вектор свободных членов системы линейных равенств A*x=b − для нашего примера её нет (ставят пару пустых прямоугольных скобок []);
lb и ub − вектора той же размерности, что и вектор x − ограничения на координаты lbxub − для нашего примера lb=[0; 0], а вместо ub ставят пару пустых скобок [];
x − искомый вектор оптимальных значений параметров;
fv − значение целевой функции при оптимальном векторе параметров.
Командное окно для решения нашей задачи имеет вид
>> f=[10; 20];
>> A=[5 25;0.5 0;100 250;10 10];
>> b=[500; 15; 7500; 400];
>> lb=[0; 0];
>> [x,fv]=linprog(-f,A,b,[],[],lb)
Optimization terminated.
x =
25.0000
15.0000
fv =
-550.0000
>>
Так как функция linprog находит минимум, а нам необходимо найти максимум, то перед символом f в вызове функции поставлен знак минус.
Таким образом, оптимальнее всего изготовить 25 стульев и 15 столов, при этом доход составит 550 руб.
Задание. В соответствии с заданным вариантом (см. таблицу 2.2.2) найти оптимальное решение задачи производственного планирования.
Таблица 2.2.2