Страницы: 1
RSS
Оптимизация процесса сборки и распределение сотрудников по этапам, с применением Поиск Решения.
 

Добрый день.

Задача следующая:

Есть процесс (сборка кубика Рубика), разбитый строго на 5 этапов. Каждый этап выполняется последовательно. Необходимо выполнить процесс (собрать кубик) как можно быстрее. Имеем функцию MIN с использованием Поиск Решения.

В принципе, дальнейшая задача выражается в том, что сборка кубика приносит доход $, а минута затраченного времени формирует затраты $, и в итоге нужно собрать как можно больше кубиков за меньшее время, и максимизировать прибыль. Но это второй шаг. Я бы хотел сперва оптимизировать время.

Есть 10 участников команды, каждый из которых может выполнить каждый этап за определенное время. Имеем матрицу сотрудники/время по этапам.

Необходимо распределить участников команды по этапам таким образом, чтобы оптимизировать (=минимизировать) скорость сборки кубика. Например, на 1 этап поставить 2 человек, а на 2 этап 3 человек и т.п.

Ограничения:

10 человек в команде. Каждый должен участвовать. И должен быть задействован только на одном этапе.

Этапы выполняются строго последовательно (1-2-3-4-5).

Если сможете помочь с этой задачей, я пришлю матрицу по времени. Или можно любые абстрактные значения использовать (в минутах или секундах), а я уже сам подобью данные.

Готов оплатить построенную модель. Пишите в ЛС.

Спасибо!

 
Приложите исходные данные в виде Excel файла

Составил собственную модель на случайных данных, не обязательно получилось оптимальное решение.
Для 10 участников и 5 этапах можно попробовать решить задачу полным перебором (5^10 = 9 765 625 комбинаций) и найти оптимальное решение
Изменено: MCH - 13.09.2021 13:55:30
 
MCH, спасибо за оперативный ответ.
Достаточно простая, но изящная модель получилась. Класс!

А можете пояснить, как получается эта строчка?
Потребность времени2 148,81 455,41 500,01 095,72 288,7
не очень понимаю формулу.

Я вбил реальные значения. Когда запускаю EVO solver, то он указывает, что не может улучшить данную модель, и решения оптимальны. Хотя, мне кажется, что при каждой симуляции он вставляет разные комбинации.

Где-то у меня получилось такое распределение участников:
НаименованиеЭтап 1Этап 2Этап 3Этап 4Этап 5Итого
2213210
А где-то такое:
НаименованиеStep 1Step 2Step 3Step 4Step 5Итого
2313110
А еще каким ограничением задается то, что этапы делаются по очереди от 1-го до 5-го?
Что пока участник на 1-ом этапе не соберет свою часть, участники на 2-ом этапе не могут приступать. Т.е. возникает некая воронка. И нужно смоделировать так, чтобы избежать "горлышка в бутылке".
 
Цитата
Seva Eremkin написал:
А можете пояснить, как получается эта строчка?Потребность времени2 148,81 455,41 500,01 095,72 288,7не очень понимаю формулу.
Я построил модель исходя из следующих соображений
Один участник собирает кубик за определенное время, другой за другое определенное время
Два участника соберут кубик (или 100 кубиков) за время меньшее, чем каждый из них в отдельности, поэтому я и определил понятие скорости сборки единицы (как обратная величина времени, затрачиваемое на сборку)
Если несколько участников участвуют в одном этапе, то общая скорость сборки получается как сумма скоростей всех участников на текущем этапе.

в конце считаем из суммарной скорости сколько нужно времени на сборку всей партии с учетом, что несколько участников собираю кубики одновременно на одном этапе
в фомуоле как раз и считается как требуемое количество кубиков деленное на суммарную скорость этапа, для избежания ошибки деления на 0 добавляю очень маленькую величину к скорости, иначе модель может не корректно считать

Цитата
Seva Eremkin написал:
Когда запускаю EVO solver, то он указывает, что не может улучшить данную модель, и решения оптимальны. Хотя, мне кажется, что при каждой симуляции он вставляет разные комбинации.
Эволюционный/генетический алгоритм солвера не обязательно может найти абсолютный минимум/максимум, он может упереться в локальный экстремум функции, можно несколько раз запустить поиск решения при разных стартовых значениях (либо несколько раз подряд) и выбрать лучшее решение

По Вашим данным мне удалось немного улучшить решение (26 767,4), абсолютный минимум можно найти при полном переборе всех вариантов решения, по данным исходным данным это вполне возможно.

Цитата
Seva Eremkin написал:
А еще каким ограничением задается то, что этапы делаются по очереди от 1-го до 5-го?
т.к. этапы последовательны, то ищем минимальное значение суммы всех этапов, если можно было бы параллельно делать этапы, то нужно минимизировать максимальное время из всех этапов.
Страницы: 1
Наверх