Здравствуйте! Вопрос по теме надстройки "Поиск решения". Подскажите, как подобрать условия в параметрах поиска таким образом, чтобы результат был как в примере? Задание: имеем заготовку длиной 2550 мм, её необходимо разрезать на размеры (форматы) указанные в примере (420, 840, 600 ,620 мм и т.д.). Форматы необходимо подобрать таким образом, чтобы: 1) потери от общей заготовки были минимальными, 2) количество общих форматов было минимальным. В примере указано 5 общих форматов! Общий формат указан в колонке (N9:N28).
Здравствуйте! Вопрос по теме надстройки "Поиск решения". Подскажите, как подобрать условия в параметрах поиска таким образом, чтобы результат был как в примере? Задание: имеем заготовку длиной 2550 мм, её необходимо разрезать на размеры (форматы) указанные в примере (420, 840, 600 ,620 мм и т.д.). Форматы необходимо подобрать таким образом, чтобы: 1) потери от общей заготовки были минимальными, 2) количество общих форматов было минимальным. В примере указано 5 общих форматов! Общий формат указан в колонке (N9:N28).bumnik
bumnik, почему не задали данный вопрос в первоначальной теме? Повторюсь, данная задача не для формул (если Вам конечно нужно оптимальное решение, с минимизацией потерь)
Приложил примеры решения (решения получены автоматизированным способом), в котором потери минимальны, количество различных форматов также минимальны (есть варианты на 5 форматов и на 6 форматов) Некоторые исходные заказы сделаны с небольшим избытком (в пределах допуска), с целью уменьшения потерь, а также для нахождения вариантов с наименьшим количеством переходов. Данный пример исходных данных уже не для "поиска решения", количество возможных вариантов раскроя заготовки от 2200 до 2600 - 556 вариантов (см. вложение)
bumnik, почему не задали данный вопрос в первоначальной теме? Повторюсь, данная задача не для формул (если Вам конечно нужно оптимальное решение, с минимизацией потерь)
Приложил примеры решения (решения получены автоматизированным способом), в котором потери минимальны, количество различных форматов также минимальны (есть варианты на 5 форматов и на 6 форматов) Некоторые исходные заказы сделаны с небольшим избытком (в пределах допуска), с целью уменьшения потерь, а также для нахождения вариантов с наименьшим количеством переходов. Данный пример исходных данных уже не для "поиска решения", количество возможных вариантов раскроя заготовки от 2200 до 2600 - 556 вариантов (см. вложение)MCH
Во вложении пример программы, которая осуществляет раскрой: Ввод исходных данных, генерация возможных схем раскроя, параметры "Поиска решения", результат в табличном виде и сформированная схема раскроя
В качестве параметров было задано: 1. Требуемое количество деталей (по Вашим данным) 2. Размер заготовок - 2600 3. в качестве допустимых раскроев было указано возможные обрезки от 50 до 80 мм (т.е. раскрои от 2520 до 2550) 4. исходные заказы допустимо делать с избытком в пределах 5% Можно также задать ширину реза, количество рулонов в одном формате раскроя (мин и макс)
Получилось - 6 различных вариантов раскроя, все рулоны раскроены от 2520 до 2550, одна деталь сделана с избытком.
В программе реализовано три алгоритма решения: 1. с помощью "Поиска решения" (ограничение по количеству схем раскроя и не очень быстро решает) 2. с помощью сторонней библиотеки для решения задач линейного программирования - lpsolve 3. с помощью алгоритма подбора слагаемых динамическим программированием
Во вложении пример программы, которая осуществляет раскрой: Ввод исходных данных, генерация возможных схем раскроя, параметры "Поиска решения", результат в табличном виде и сформированная схема раскроя
В качестве параметров было задано: 1. Требуемое количество деталей (по Вашим данным) 2. Размер заготовок - 2600 3. в качестве допустимых раскроев было указано возможные обрезки от 50 до 80 мм (т.е. раскрои от 2520 до 2550) 4. исходные заказы допустимо делать с избытком в пределах 5% Можно также задать ширину реза, количество рулонов в одном формате раскроя (мин и макс)
Получилось - 6 различных вариантов раскроя, все рулоны раскроены от 2520 до 2550, одна деталь сделана с избытком.
В программе реализовано три алгоритма решения: 1. с помощью "Поиска решения" (ограничение по количеству схем раскроя и не очень быстро решает) 2. с помощью сторонней библиотеки для решения задач линейного программирования - lpsolve 3. с помощью алгоритма подбора слагаемых динамическим программированиемMCH