Так, у Вас есть

точек (ну или векторов), из которых возможно построить

множеств точек Каждый симплекс, ну или тетраэдр, взаимно однозначно определяется множеством точек. Множества точек буде обозначать буквами

с индексами. Под словом "симплекс" ниже будем понимать невырожденный симплекс, то есть для которого множество точек

линейно независимо. Теперь, если

и

- симплекс, то

- симплекс. И наоборот: если

- не симплекс, то и

- не симплекс (Образно выражаясь, у Вас структура этих множеств - это кусок снизу булеана k-элементого множества). Тогда Вам надо найти среди этих всех

максимальные множества, причем максимальной мощности, либо мощности, не меньшей

(вроде как

нужна только здесь, больше нигде). Для каждого множества

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

.
Есть такая аналогия: рассматривать каждую точку как вершину графа

мощности

, и будем считать, что любая пара вершин множества

соединена ребром тогда и только тогда, когда

- симплекс. Тогда получится, что Вы ищете в графе

клику максимальной мощности или мощности не меньшей

, что, как известно, NP- полная задача. Но это только аналогия, так как в графе если

связано с

и

- клика, то

- клика, а у нас, если

- симплекс, то для

надо проверять матрицу на линейную зависимость и оттуда находить - симплекс ли

или нет.
То, что Вы делаете - вариант случайного поиска симплекса, если случайный поиск устраивает, то можете возможное количество раз строить симплексы

до тех пор, пока не наткнетесь на максимальный, а затем среди множества получившихся выбрать максимальный.
Можно жадный алгоритм + точный перебор. Ищите хоть какой-то максимальный симплекс по Вашей схеме (можно найти несколько и выбрать симплекс максимальной мощности). Пусть его мощность

, тогда осуществляете перебор всех

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