Минимизировать максимум выражения в Mathematica

nikmif

Есть вектор, надо чтобы максимумы его компанент были минимальными. Это задача линейного программирования с минимаксным функционалом. У меня она более сложная , но суть приблизительно такая:
Array[z, 2];
A = ConstrainedMin[Max[{z[1], z[2]}], {z[1] +z[2] =10}, {z[1], z[2]}];
Так как я написал не проходит. Как выйти из этой ситуации?

nikmif

up

SheZz

Еще раз суть проблемы.

nikmif

Мне надо минимизировать проекции шести векторов на выделенное направление. На компаненты этих векторов наложены ограничения. Эту задачу я решаю с помощью линейного программирования, но проблема в том, что лучше всего для этой задачи подходит минимаксный функционал max(z(i)*е)_i -> min, i=1...6, где z(i) - те самые вектора, а e - то выделенное направление. Я не знаю как его(функционал) реализовать в Mathematicа. В самом первом сообщениии, чтобы не забивать лишней информацией я задачу переформулировал, но суть та же. Т.е мне надо, чтобы разом проекции шести векторов на направление е, были минимальными. Минимизировать одну - это легко, но чтобы все шесть?!

Sanych

Теоретический подход такой:
ищем min(max f_i)
значит ищем min(y) при доп. условиях y>f_i
По аналогии с приведённой строчкой,
ConstrainedMin[z, {z1+z2=10,z1<=z,z2<=z},{z,z1,z2}]

nikmif

Спасибо за совет, но z - это вектор. Идея примера из первого сообщения выглядит приблизительно так:
z={x,y}
Найти минимальные x и y удовлетворяющие условию х+у=10. Очевидно, что ответ х=у=5. Но как заставить Mathematica выдать такой ответ?

SheZz

Найти все пары, создать таблицу модуля разности элементов пары, найти минимальный элемент этой таблицы, восстановить пару.

Sanych

Всё-таки я поставил и эту программу
Искомый результат выдаётся с помощью:
Array[z, 2]
A = ConstrainedMin[ t, {z[1] <= t, z[2] <= t, z[1] + z[2] == 10}, {z[1], z[2], t}]
Извиняюсь за сбивающие с толку обозначения в предыдущем посте

nikmif

Спасибо большое, работает! И работает правильно
Оставить комментарий
Имя или ник:
Комментарий: