Как создать алгоритмы для встраивания сети труб с диапазоном диаметров в куб с максимальным объемом в трубах? Предполагать:
- Минимальная квадратная сторона 30 см
- Минимальный диаметр трубы 1 см
- Толщина стенки трубы 1 мм.
- Длина ребра куба
- количество разных диаметров
- Объем трубы .
Трубки образуют сеть в смысле непрерывной сети соединенных трубок.
Хитрые части:
- Нахождение идеального количества различных радиусов труб для использования.
- учет кривых в трубах. Может быть стоит принять прямые трубы с разворотами на концах? Очевидно, квадратные трубы были бы идеальными. Но мы ограничены круглыми трубами.
Лучше всего разбить проблему на составляющие:
- Предполагая (одну) трубу диаметром 1 см, как разместить большую часть трубы в куб 30 см.
- Предполагая (несколько) диаметров труб: трубы диаметром 1 см и 5 см, как разместить большую часть трубы в куб 30 см.
- как определить оптимальное количество диаметров
i. данное ограниченное количество или радиусы,
ii. учитывая неограниченное количество радиусов.
Ответы:
Если вы предполагаете, что ваши трубы прямые, ваша проблема сводится к двухмерной упаковке кругов, как предлагает Мухаммед. Но в отличие от того, что он говорит, использование наименьших труб не даст вам наилучшей плотности упаковки:
Однако для того, чтобы написать содержательный алгоритм, вам нужно иметь ограничение по минимальному диаметру, в противном случае вы сможете заполнить промежутки трубами все меньшего размера.
Вы можете найти лучшие ответы на этот вопрос на math.stackexchange.com
источник