|
0 / 0 / 0
Регистрация: 23.05.2019
Сообщений: 3
|
|
Минимизировать максимальную сумму элементов матрицы23.05.2019, 01:18. Показов 1888. Ответов 6
Метки нет (Все метки)
Дано М команд и N задач. Для каждой команды i известно время ti,j, за которое будет выполнена задача j (то есть задачу можно представить в виде матрицы M*N с элементами ti,j).
Каждую задачу может выполнять только одна команда, но у одной команды может быть несколько задач. Нужно распределить задачи по командам таким образом, чтобы минимизировать время выполнения всех задач, то есть предельно уменьшить время работы самой загруженной команды. Подскажите решение этой задачи или хотя бы метод, с помощью которого ее можно решить. Заранее спасибо.
0
|
|
| 23.05.2019, 01:18 | |
|
Ответы с готовыми решениями:
6
Найти и вывести сумму элементов каждой строки и максимальную сумму элементов матрицы
|
|
0 / 0 / 0
Регистрация: 23.05.2019
Сообщений: 3
|
||
| 23.05.2019, 22:21 [ТС] | ||
|
0
|
||
|
|
|
| 24.05.2019, 00:59 | |
|
Хочу уточнить критерий оптимальности для окончания процесса:
- если нужно минимизировать сумму всех времён выполнения всех заданий, то есть общие затраты времени всех команд, это одно. И это легко сделать сразу. - если нужно минимизировать время самой загруженной команды, то есть найти такое минимальное время Tmin, чтобы для каждой команды выполнялось Ti<=Tmin, это другое. Тогда суммарное время для всех команд не будет минимальным. Вот это требует нескольких итераций. Например, для такой задачи (рис) нужно 4 итерации, чтобы найти оптимум по второму критерию. А красным выделены клетки (команда;задача), удовлетворяющие первому критерию - просто минимум каждого столбца.
0
|
|
|
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
|
|
| 24.05.2019, 13:49 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 23.05.2019
Сообщений: 3
|
|
| 25.05.2019, 00:34 [ТС] | |
|
Да, нужна именно минимизация времени самой загруженной команды.
0
|
|
|
|
|
| 26.05.2019, 21:45 | |
|
После трёх дней вывод такой: стратегия постепенного улучшения базисного решения путём замены в одном столбце какой-то строки на другую не позволяет придти к оптимальному решению - можно постепенно улучшать решение, но доходится не до лучшего решения. Т.е. может быть так, что путём перестановки строк в одном столбце решение сначала ухудшается (т.е. максимум суммы строк становится больше, чем на последнем шаге), а на следующем шаге (при перестановке в другом столбце) оно становится лучше первого. Поэтому - программа перебора, к сожалению. Хотя может есть ручные методы, но мне они не известны.
Если перебирать тупо, то макрос в VBA находит решение того примера, который в посте 4, примерно за 3 минуты и выписывает на листе несколько постепенно улучшающихся стратегий (в последнем прогоне написал 16 максимумом сумм строк от 70 до 22). Если стратегий с лучшим максимумом строк (22) несколько, то выписываются они все. Можно оптимизировать процесс перебора, если отсеивать стратегии, содержащие клетки с ценой (т.е. с затратами времени (команда;задача) ) больше чем последний лучший результат. Например, последняя лучшая стратегия дала максимум суммы строк 30. Значит, стратегии, в которых задействованы ячейки с ценой >30, можно сразу отсеивать и не проверять, какой у них выходит максимум сумм строк - понятно, что не меньше, чем самая большая цена в задействованных ячейках. Но я так не делал - написал по-простому для начала.
0
|
|
| 26.05.2019, 21:45 | |
|
Помогаю со студенческими работами здесь
7
Найти максимальную сумму элементов в столбцах матрицы Найдите максимальную сумму элементов строк матрицы Найти максимальную сумму элементов в столбце матрицы
Исключить из матрицы строку, имеющую максимальную сумму ее элементов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|