На этом шаге мы приведем постановку проблемы.
Большинство перевозимых грузов имеет прямоугольную форму - ящики, коробки, упаковки и т.д. При погрузке на транспорт (автомобиль, вагон, контейнер) ящиков в первый раз, предварительно происходит оценка - как оптимально расположить этот груз, чтобы в ограниченный объем вошло максимальное количество ящиков или как вместить в это пространство их необходимое количество. Довольно часто расположение ящиков производится интуитивно. При этом возможны дополнительные потери времени или заполнение ограниченного объема не является самым эффективным. В дальнейшем будем считать, что осуществляется загрузка автомобиля, и габариты ограничены размерами кузова.
Идеальный случай - когда размеры ящиков кратны размерам кузова машины. Тогда посчитать количество вмещаемых ящиков несложно. Второй простой вариант - когда на ящиках указано их возможное расположение, и они размещаются в один ряд.
Предположим, что размеры ящиков и кузова машины не кратны, и что эти ящики можно располагать как угодно, то есть на них нет маркировки "верх". В таком случае возможно шесть вариантов расположения груза, которые показаны на рисунке 1.
Рис.1. Возможное расположение прямоугольных ящиков с грузом в кузове машины
На рисунке 1 указаны номера вариантов возможного расположения груза в кузове, а также описание варианта расположения ящиков по отношению к переднему борту автомобиля. Например, Вариант 1 - Ширина х Длина х Высота предполагает, что ящик будет расположен шириной по ширине кузова, длиной по длине и высотой по высоте.
Рис.2. Наименования сторон габаритов груза, применяемые в разрабатываемом приложении в качестве имен ячеек, в которые будет осуществляться ввод этих размеров
Груз имеет следующие параметры:
Кузов автомобиля имеет следующие параметры (рисунок 3):
Рис.3. Наименования сторон габаритов кузова автомобиля, применяемые в разрабатываемом приложении в качестве имен ячеек, в которые будет осуществляться ввод этих размеров
На следующем шаге мы рассмотрим организацию ввода исходных данных.