Решение задач линейного программирования
Решение задач линейного программирования
Две последние функции решают типовые задачи линейного программирования. В дополнение к ним может использоваться функция 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.}} После имени функции указывается максимизируемая целевая функция, затем перечисляются все ограничения и, наконец, задается список искомых переменных. Результатом вычислений является максимально достижимая стоимость продукции и список переменных, отражающих количество изделий каждого типа.