Цитата:
А что такое "симплекс"?
Симплекс -

-мерный многогранник, являющийся выпуклой оболочкой

точкек, лежащих в общем положении (т.е. не лежащих в одной

-мерной гиперплоскости.
Посмотрите тему
http://dxdy.ru/viewtopic.php?p=28121#28121. Здесь можно применить ту же идею, которую я там предложил. Рассмотрим на примере двух переменных. Пусть имеется

с ограничениями

,

,

. Геометрически эта область представляет собой прямоугольный равнобедренный треугольник. Мы хотим более-менее естественно преобразовать его в единичный квадрат. Для этого применим растяжение вдоль каждого луча, выходящего из начала координат, причем коэффициент растяжения выбирается так, чтобы точка на гипотенузе перешла в границу единичного квадрата. В частности, в середине гипотенузы произойдет излом, растяжение там будет максимальным (в два раза).
Чтобы точно посчитать растяжение вдоль луча, нужно вычислить координаты точки

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

. При этом точка на гипотенузе, для которой сумма координат равна 1, в точности перейдет в точку

.
Обратное преобразование осуществляется, соответственно, сжатием.
Ровно то же самое делается и в трехмерном случае.
Цитата:
Мне нужно хранить эти данные в памяти компьютера, хочу, чтоб было оптимальнее.
Этого я не понимаю. Ведь Вы же наверняка храните каждое значение как одно float или double, в чем выражается оптимальность? И неужели есть задача, где это хоть сколько-нибудь критично?