Какие существуют алгоритмы эффективного размещения прямоугольных объектов в прямоугольный контейнер?
В общем случае это комбинаторная оптимизация.
Там есть примеры частных случаев, и ваша задача очень похожа на "задачу о ранце (рюкзаке)", немного на задачу раскроя или замощения, но еще больше она походит на задачу о упаковке, внезапно.
Генетический алгоритм это случайный выбор новых комбинаций. Далее:
а) отбрасываются самые плохие, остаются хорошие
б) несколько новых делают из хороших путём мутации (случайного изменения нескольких случайных позиций)
в) несколько новых делают из хороших путём скрещивания (часть позиций из папы, часть из мамы).
Цикл повторять.