Решение задач линейного программирования
Решение задач линейного программирования
Две последние функции решают типовые задачи линейного программирования. В дополнение к ним может использоваться функция
LinearProgramming[с, m, b]
которая ищет вектор х, минимизирующий величину с. х в соответствии с условиями m.x>=b и х>=0.
Рассмотрим типичный пример на линейное программирование. Пусть цех малого предприятия должен изготовить 100 изделий трех типов, причем не менее 20 штук каждого. На изготовление этих изделий уходит, соответственно, 4, 3,4 и 2 кг металла. Имеющийся в наличии запас материала — 700 кг. Спрашивается, сколько изделий xl, х2 и хЗ каждого типа надо выпустить для обеспечения максимальной стоимости продукции, если цена изделий равна, соответственно, 4, 3 и 2 рубля.
Ниже представлено решение этой задачи с помощью функции ConstrainedMax:
ConstrainedMax [
4 * xl + 3 * x2 + 2 * хЗ ,
{xl >= 20, x2 >= 20, хЗ >= 20,
4 * xl + 3 . 4 * x2 + 2 * x3 <= 340 ,
4 .75 * xl + 11 * x2 + 2 * x3 < = 700 ,
xl + x2 + x3 == 100},
{xl, x2, x3}]
{332., {xl^ 56^x2^ 20., x3^24.}}
После имени функции указывается максимизируемая целевая функция, затем перечисляются все ограничения и, наконец, задается список искомых переменных. Результатом вычислений является максимально достижимая стоимость продукции и список переменных, отражающих количество изделий каждого типа.
Содержание раздела