Типовых задач линейного программирования

1) Задача распределения ресурсов

Пусть на некотором предприятии для изготовления n видов продукции Р1, Р2, …, Рn используют m видов сырья (ресурсов) S1, S2, …, Sm. Объём (запас) каждого вида сырья ограничен и известен: b1, b2, …, bm. Для изготовления единицы j-го вида продукции требуется аij (i = 1, 2, …, m; j = 1, 2, …, n) единиц каждого i-го вида сырья. Известна прибыль, получаемая от реализации единицы каждого вида продукции: с1, с2, …, сn. Сколько единиц продукции каждого вида нужно произвести, чтобы уложиться в имеющиеся запасы сырья (ресурсов) и получить максимальную прибыль?

Для наглядности представим условия задачи в виде таблицы:

Вид Запас     аij  
сырья сырья Р1 Р2 Рn
S1 S2 … Sm b1 b2 … bm а11 а21 …. аm1 а12 а22 …. аm2 … … … … а1n а2n …. аmn
Прибыль   с1 с2 сn

Составим математическую модель (ММ) данной ЗЛП, т.е. опишем неизвестные, целевую функцию, систему ограничений и условия неотрицательности.

Неизвестные. По условию задачи неизвестно, сколько единиц продукции каждого вида нужно произвести. Всего на данном предприятии изготавливают n видов продукции. Обозначим через хj – количество единиц продукции j-го вида (j = 1, 2, …, n). Таким образом, Типовых задач линейного программирования - student2.ru - неизвестные данной ЗЛП.

Целевая функция. В данной задаче требуется получить максимальную прибыль от реализации продукции. Следовательно, в качестве целевой функции будет выступать прибыль.

Если единица продукции первого вида приносит прибыль с1, то прибыль от реализации х1 единиц продукции составит с1х1. Аналогично, х2 единиц продукции второго вида дадут прибыль с1х1, и т.д.

Общую прибыль, получаемую от реализации всей продукции, можно представить в виде Типовых задач линейного программирования - student2.ru . Поскольку эту функцию нужно максимизировать, то получим F (Х) = Типовых задач линейного программирования - student2.ru → max.

Система ограничений. Сначала найдём, сколько сырья первого вида необходимо для производства всей продукции.

Если на единицу продукции 1-го вида уходит а11 единиц сырья первого вида, то на х1 единиц продукции 1-го вида уйдёт а11х1 сырья первого вида. Для выпуска х2 единиц продукции 2-го вида потребуется а12х2 единиц сырья первого вида и т.д. Чтобы произвести хn единиц продукции n-го вида потребуется а1nхn единиц сырья первого вида. Всего потребуется Типовых задач линейного программирования - student2.ru единиц сырья первого вида.

Так как b1 - количество сырья первого вида и, чтобы его расход не превышал имеющегося запаса, должно выполняться неравенство Типовых задач линейного программирования - student2.ru .

Аналогично составляются ограничения для ресурсов второго вида:

Типовых задач линейного программирования - student2.ru и т.д.

Система ограничений для данной задачи примет вид:

Типовых задач линейного программирования - student2.ru

Условия неотрицательности переменных: Типовых задач линейного программирования - student2.ru , т.к. нельзя выпускать отрицательное число единиц продукции.

Таким образом, ММ задачи использования ресурсов имеет вид:

F(Х) = Типовых задач линейного программирования - student2.ru → max,

Типовых задач линейного программирования - student2.ru

Типовых задач линейного программирования - student2.ru .

2) Задача о рационе питания

В общем виде эту задачу можно сформулировать следующим образом: требуется составить ежедневный рацион питания человека исходя из имеющихся в наличии продуктов так, чтобы общая стоимость использованных продуктов была минимальной. При этом человек должен получать не менее определённого количества питательных веществ, таких, как витамины, белки, жиры, углеводы, минералы и т.п. Каждый продукт содержит разную комбинацию этих веществ. Известна цена единицы веса каждого продукта.

Конкретизируем условия ЗЛП. Пусть имеется n видов продуктов Р1, Р2, …, Рn и перечень из m необходимых питательных веществ S1, S2, …, Sm. Пусть аij (i = 1, 2, …, m; j = 1, 2, …, n) - содержание (в весовых единицах) i-го питательного вещества в единице веса j-го продукта; bi - минимальная суточная потребность человека в i-м питательном веществе. Известна цена единицы веса каждого продукта: с1, с2, …, сn.

Сколько единиц веса продуктов каждого вида нужно взять для ежедневного рациона питания человека, чтобы уложиться в имеющиеся запасы продуктов, получить не менее заданного количества питательных веществ и заплатить наименьшую сумму денег?

Представим условия задачи в виде таблицы.

Питательное Суточная     аij  
вещество потребность Р1 Р2 Рn
S1 S2 … Sm b1 b2 … bm а11 а21 …. аm1 а12 а22 …. аm2 … … … … а1n а2n …. аmn
Стоимость веса единицы продукта с1 с2 сn

Составим ММ данной ЗЛП.

Неизвестные. По условию задачи неизвестно, сколько единиц веса

продуктов каждого вида нужно включить в рацион питания. Всего имеется n видов продуктов. Обозначим через хj – количество единиц продуктов j-го вида (j = 1, 2, …, n). Таким образом, Типовых задач линейного программирования - student2.ru - неизвестные данной ЗЛП.

Целевая функция. В данной задаче требуется так составить рацион питания, чтобы общие затраты на продукты были минимальными. Следовательно, в качестве целевой функции будет выступать общая стоимость использованных в рационе продуктов.

Если единица веса первого вида продукта питания стоит с1, то цена х1 единиц веса продуктов первого вида составит с1х1. Аналогично, х2 единиц веса продуктов второго вида будут стоить с1х1, и т.д.

Общую стоимость составленного рациона питания можно представить в виде Типовых задач линейного программирования - student2.ru . Поскольку эту функцию нужно минимизировать, то получим

F(Х) = Типовых задач линейного программирования - student2.ru → min.

Система ограничений. Сначала найдём, сколько продуктов первого вида необходимо включить в рацион питания.

Если в единице веса продукта первого вида содержится а11 единиц веса питательного вещества первого вида, то в х1 единиц веса продуктов первого вида будет а11х1 единиц веса питательного вещества первого вида. В х2 единицах веса продуктов второго вида содержится а12х2 единиц веса питательного вещества первого вида и т.д. В хn единицах веса продуктов n-го вида будет содержаться а1nхn единиц веса питательного вещества первого вида. Всего потребуется Типовых задач линейного программирования - student2.ru единиц веса питательного вещества первого вида.

Так как b1 – минимальная суточная потребность человека в первом питательном веществе, то должно выполняться неравенство

Типовых задач линейного программирования - student2.ru .

Аналогично составляются ограничения для второго вида питательного вещества: Типовых задач линейного программирования - student2.ru и т.д.

Система ограничений для данной задачи примет вид:

Типовых задач линейного программирования - student2.ru

Условия неотрицательности: Типовых задач линейного программирования - student2.ru , т.к. не может быть отрицательного количества продуктов.

Таким образом, ММ задачи о рационе питания имеет вид:

F(Х) = Типовых задач линейного программирования - student2.ru → min,

Типовых задач линейного программирования - student2.ru

Типовых задач линейного программирования - student2.ru .

Наши рекомендации