Описание. Есть 1 поставщик, который развозит продукцию к 8 потребителям, нужно придумать 15 вариантов организации рабочего дня, ограничения, их 2: максимальная недоработка не должна превышать 60 минут от планового времени нахождения на линии и варианты не должны повторяться. Пытался сам, искал похожие темы, но так ничего и не придумал для решения задачи, а каждый раз вручную перебирать не вариант. Варианты и с формулами и с макросами подойдут, это не принципиально. Заранее всем, кто участвует в теме, СПАСИБО!
Описание. Есть 1 поставщик, который развозит продукцию к 8 потребителям, нужно придумать 15 вариантов организации рабочего дня, ограничения, их 2: максимальная недоработка не должна превышать 60 минут от планового времени нахождения на линии и варианты не должны повторяться. Пытался сам, искал похожие темы, но так ничего и не придумал для решения задачи, а каждый раз вручную перебирать не вариант. Варианты и с формулами и с макросами подойдут, это не принципиально. Заранее всем, кто участвует в теме, СПАСИБО!Panda_3
Какова конечная цель задачи? Возможен различный подход к решению. Если конечная цель исполнить все заказы с наименьшим простоем, то данная задача может сводится к оптимизационной задачи с использованием линейного программирования (через "Поиск решения")
Расскажите, какова конечная суть проблемы? От этого зависит способ решения. И это задача рабочая или учебная?
Какова конечная цель задачи? Возможен различный подход к решению. Если конечная цель исполнить все заказы с наименьшим простоем, то данная задача может сводится к оптимизационной задачи с использованием линейного программирования (через "Поиск решения")
Расскажите, какова конечная суть проблемы? От этого зависит способ решения. И это задача рабочая или учебная?MCH
MCH, постановка задачи в 2 вариациях, на минимум автомобилей и минимум недоработанного времени, задача учебная. Саму задачу я решил, но решение не оптимальное, т.к. вариации планирования рабочего дня я придумывал в ручную и их было 15, а вы насчитали 121. Хотел для себя узнать как сделать такой алгоритм подбора при заданных ограничениях. Прикрепляю конечный файл решения используя ваши переборки. P.S. находить вариации через поиск не представляется возможным т.к. он ограничен 200 переменными.
MCH, постановка задачи в 2 вариациях, на минимум автомобилей и минимум недоработанного времени, задача учебная. Саму задачу я решил, но решение не оптимальное, т.к. вариации планирования рабочего дня я придумывал в ручную и их было 15, а вы насчитали 121. Хотел для себя узнать как сделать такой алгоритм подбора при заданных ограничениях. Прикрепляю конечный файл решения используя ваши переборки. P.S. находить вариации через поиск не представляется возможным т.к. он ограничен 200 переменными.Panda_3
Раз это задача не имеет практического применения, то не буду углубляться в детали. Часть задачи по поиску различных вариантов сложения по смыслу близка к задаче "сумма подмножеств" С определенными ограничениями.
Решать можно полным перебором или динамическим программированием. Количество Ваших данных позволяет решить задачу полным перебором.
В том виде, в котором я выложил, решил эту задачу с помощью собственной программы линейного раскроя (использовал ту часть программы, которая генерирует варианты сложения в заданном интервале)
Раз это задача не имеет практического применения, то не буду углубляться в детали. Часть задачи по поиску различных вариантов сложения по смыслу близка к задаче "сумма подмножеств" С определенными ограничениями.
Решать можно полным перебором или динамическим программированием. Количество Ваших данных позволяет решить задачу полным перебором.
В том виде, в котором я выложил, решил эту задачу с помощью собственной программы линейного раскроя (использовал ту часть программы, которая генерирует варианты сложения в заданном интервале)MCH
что нужно, чтобы одно и то же число могло браться несколько раз, при формировании суммы?
В данном случае указанный макрос не совсем подходит. Нужно либо каждое число написать несколько раз, либо использовать другой макрос. Вы же писали, что это учебное задание. Зачем Вам так далеко углубляться?
Реализовать генератор, который формирует все возможные слагаемые под необходимую сумму можно, но кода будет достаточно много. У меня есть подобное решение, но "вырезать" его из готовой программы, удаляя все лишнее, займет много времени.
что нужно, чтобы одно и то же число могло браться несколько раз, при формировании суммы?
В данном случае указанный макрос не совсем подходит. Нужно либо каждое число написать несколько раз, либо использовать другой макрос. Вы же писали, что это учебное задание. Зачем Вам так далеко углубляться?
Реализовать генератор, который формирует все возможные слагаемые под необходимую сумму можно, но кода будет достаточно много. У меня есть подобное решение, но "вырезать" его из готовой программы, удаляя все лишнее, займет много времени.MCH
MCH, учебная, но лично для себя, хотел разобраться более углубленно данный вопрос, если возможно опишите или отправьте файл, со способом, которым вы формировали таблицу
У меня получился 121 вариант различного сложения, чтобы сумма была не менее 360 и не более 420:
MCH, учебная, но лично для себя, хотел разобраться более углубленно данный вопрос, если возможно опишите или отправьте файл, со способом, которым вы формировали таблицу