Оптимизационная задача(доски/упаковки). 2 503 руб

Все проекты
Прошло времени:   55 лет 5 месяцев 2 недели 4 дня 5 часов 32 минут
Нужно сделать мини-приложение, которое будет решать ниже описанную задачу. Оно может быть как web-приложение на php, ruby(ror) или как десктопное под windows(в этом случае язык любой, хоть delphi).

Есть набор досок N разных длин L с определенным шагом D. У досок есть минимальная длина L1 и максимальная L2. Каждой длины есть определенное количество штук. У каждой доски есть размеры, позволяющие определить ее площадь: ширина доски W, длина доски L. Доски укладываются в коробки слоями (возможное количество слоев задано двумя значениями минимальным Y1 и максимальным Y2) имеющие одинаковые размеры по длине Lb. Необходимо разложить доски по коробкам таким образом, чтобы средняя длина досок не отклонялась более чем на 15% от заданной величины Lm, при этом должно быть уложено максимально возможное количество досок из набора N, а количество слоев должно быть постоянным и попадать в диапаон Y1:Y2, а также длина каждого слоя должна равняться длине коробки Lb. Также нужно подсчитать площадь всех досок в одной коробке S.

Величины:

N – набор досок одного сечения и разных длин.
L – длина доски
D – шаг изменения длины досок
L1 – минимальная длина доски
L2 – максимальная длина доски
W – ширина доски
Y1, Y2 – допустимое количество слоев в коробке
Lb – длина коробки
Lm – средняя длина досок в коробке
S – площадь досок в коробке

Уточнение: коробки имеют ширину одной доски.

Пример.

N [1800-5шт, 1700-5шт.,1600-5шт, 1400-5шт, 1200-10шт., 1000-5шт.,800-20шт, 600-40шт.]
L1 = 600, L2 = 1800.
D=100
W = 125
L = [600:1800]
Y1 = 4, Y2 = 8
Lb = 2400
Lm = 1000

Одно из решений.
Слой 1 – 1800+600
Слой 2 – 1200+600
Слой 3 – 1600+800
Слой 4 – 600+600+1200
Слой 5 – 800+800+800
Слой 6 – 600+600+600+600

Получится 5 коробок такой раскладки.

Остаток 1400-5шт, 1700-5шт.1000-5шт.

Желательно предусмотреть возможность «упаковки» остатка в коробки другого размера с измененными параметрами Lb, Lm, Y1, Y2.
    Видеть контакты заказчика и оставлять свои предложения по проекту могут только зарегистрированные и авторизованные пользователи.
    Зарегистрируйтесь или войдите на сайт под своим именем.

    Фриланс-биржа Web-lance.net предлагает огромные возможности по поиску работы как опытным специалистам в сфере интернет-бизнеса, так и новичкам, только постигающим основы заработка во всемирной сети. Здесь вы найдете сотни интересных вакансий в сфере дизайна, копирайтинга, программирования, верстки, контент-менеджмента и других сфер деятельности востребованных среди интернет-пользователей. Также, зарегистрировавшись на бирже, вы сможете разместить здесь свою анкету, указав в ней свою специализацию и контактные данные, что даст возможность потенциальным клиентам, связаться с вами для дальнейшего взаимовыгодного сотрудничества. Сайт удобно структурирован и разбит на тематические разделы, что позволяет даже неопытным заказчикам точно определять категорию, в которую стоит публиковать их проект, в тоже время, упрощая исполнителям поиск интересующих их вакансий. Кроме того на портале имеется раздел Блоги где зарегистрированные пользователи могут публиковать материалы, а также Форум на котором исполнители и заказчики смогут обсудить рабочие моменты, а также пообщаться на интересующие их темы. Приятной вам работы на Web-lance.net - бирже, где вы сможете найти лучших исполнителей и самые интересные проекты.

    Чертежник – это специалист, способный грамотно выполнить чертеж или схему любого назначения. Опытные чертежники знают все правила и тонкости отрисовки и оформления качественных чертежей.