Построение математических моделей

 

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

 

Задача об оптимальном использовании ресурсов

Предприятие может выпускать n видов продукции, используя для этого m видов ресурсов. Известны затраты каждого вида ресурса на производство единицы каждого вида продукции и прибыль от реализации единицы каждого вида продукции. Требуется составить план выпуска продукции так, чтобы при данных запасах ресурсов получить максимальную прибыль.

Составим математическую модель данной задачи.

Введем обозначения:

bi,   - запасы i-го вида ресурса;

aij, ; - затраты i-го вида ресурса на производство единицы j-го вида продукции;

cj,  - прибыль от реализации единицы j-го вида продукции.

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

 

 

Виды

продукции

Виды

ресурсов

1    2         j           n

Запасы

ресурсов

1

a11   a12      a1j      a1n

b1

2

a21    a22       a2j      a2n

b2

i

ai1     ai2      aij      ain

bi

m

am1    am2      amj      amn

bm

Прибыль от реализации

единицы продукции

c1     c2         cj        cn

 

Обозначим через xj планируемый выпуск j-го вида продукции;  - план выпуска продукции. Тогда прибыль от реализации всей выпускаемой продукции составит

c1x1 + c2x2 +…+cjxj +…+cnxn.

Составим ограничения по ресурсам. Найдем расход ресурса первого вида при данном плане выпуска:

a11x1+a12x2+…+a1jхj +…+a1nxn.

Ресурса первого вида имеется в наличии b1 условных единиц, т.е. получаем ограничение

a11x1+a12x2+…+a1jхj +…+a1nxn £ b1.

Аналогично составляем ограничения по всем остальным видам ресурсов.

Кроме того, xj ³ 0, , так как количество продукции не может быть отрицательным числом.

Таким образом, математической моделью данной задачи является задача линейного программирования: найти наибольшее значение функции

при ограничениях

,

 

 

 

 

Задача о диете

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

Составим математическую модель данной задачи.

Введем обозначения:

aij -содержание i-го питательного вещества в единице j-го продукта;

bi - минимальное содержание i-го питательного вещества в суточной диете;

cj - цена единицы j-го продукта.

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

Виды

продуктов

Виды

питательных веществ

1     2          j          n

Медицинские требования

к диете

1

а11     a12      a1j      a1n

b1

2

а21     a22      a2j      a2n

b2

i

ai1     ai2      aij      ain

bi

m

am1      am2      amj      amn

bm

Цена единицы продукта

с1     c2        cj        cn

 

Пусть xj единиц j-го продукта включается в суточную диету, тогда  - суточная диета.

Цена диеты:

c1x1 + c2x2 +…+cjxj +…+cnxn.

Содержание первого питательного вещества в диете составит

a11x1+a12x2+…+a1jхj +…+a1nxn.

и это количество должно быть не менее чем b1 единиц:

a11x1+a12x2+…+a1jхj +…+a1nxn £ b1.

Аналогично составляем ограничения по всем видам питательных веществ.

Кроме того, xj ³ 0, так как количество продуктов не может быть отрицательным числом.

Математическая модель задачи: найти минимум функции

при ограничениях:

,

Таким образом, математической моделью данной задачи является задача линейного программирования.

 

Задача на оптимальный раскрой материала

Имеются прутки одинаковой длины, из которых нужно нарезать определенное количество заготовок заданной длины. Прутки можно нарезать на заготовки в различных сочетаниях. При каждом варианте нарезания прутков остаются концевые отрезки.

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

Составим математическую модель данной задачи.

Введем обозначения:

i - номер вида заготовки, ;

j - номер варианта раскроя прутка, ;

aij - количество заготовок i-го вида, получаемых из одного прутка, разрезаемого по j-му варианту;

bi  - требуемое число заготовок i-го вида;

cj - длина концевого отрезка, оставшегося от одного прутка при разрезании прутка по j-му варианту.

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

Варианты

раскроя

Виды

заготовок

1     2          j          n

План

по заготовкам

1

а11     a12      a1j      a1n

b1

2

а21     a22      a2j      a2n

b2

i

ai1     ai2      aij      ain

bi

m

am1      am2      amj      amn

bm

Длина концевого отрезка

с1     c2        cj        cn

 

Обозначим через хj - число прутков, разрезаемых по j-му варианту, тогда - план раскроя прутков. Найдем общую длину концевых отрезков.

По первому варианту планируем разрезать x1 прутков, концевой отрезок от одного прутка будет иметь длину с1, тогда общая длина концевых отрезков от х1 прутков составит c1x1. Аналогично общая длина концевых отрезков от х2 прутков, разрезанных по второму варианту, будет равна c2x2 и т.д.

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

.

Составим ограничения по заготовкам.

Из одного прутка, разрезаемого по первому варианту, получают a11 шт. заготовок первого вида, а из x1 прутков - a11x1 шт.; по второму варианту из одного прутка получают a12 шт., а из x2 прутков - a12x2 шт. и т.д., по n-му варианту - a1nxn шт. Отсюда получаем первое ограничение

a11x1+a12x2+…+a1jхj +…+a1nxn = b1.

Аналогично получаем ограничения по всем заготовкам.

Кроме того,  так как число прутков не может быть отрицательным.

Математическая модель задачи: найти наименьшее значение функции

при ограничениях:

,

Таким образом, математической моделью данной задачи является задача линейного программирования.