![]() |
![]() ![]() |
![]() |
.helga |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Женский Репутация: ![]() ![]() ![]() |
Доброго времени суток.
Поставили решить задачу о назначениях, когда имеется n работников и m мест и известна производительность работника на каждом рабочем месте. Собственно, найти нужно оптимальное распределение работников по рабочим местам. Может, у кого-нибудь имеются алгоритмы, наиболее удобные для реализации? (решать нужно в делфи) Заранее спасибо. |
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Напиши вид целевой функции для оптимизации.
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
.helga |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Женский Репутация: ![]() ![]() ![]() |
честно, я понятия не имею.
было дано только это условие, а как и что с ним делать, я не знаю. Сообщение отредактировано: .helga - 22.12.2006 20:45 |
.helga |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Женский Репутация: ![]() ![]() ![]() |
Люди, неужели никто не знает? Хелп!
|
Lapp |
![]()
Сообщение
#5
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Люди, неужели никто не знает? Хелп! В праздники не выкроил времени, увы.. Если считать, что целевая функция - это просто сумма производительностей на местах, то задача решается простым перебором в цикле с рекурсией. Метод, наверняка, не оптимальный, но про оптимизацию можно подумать потом ![]()
Программа берет данные из файла: первая строчка - n, количество человек; вторая строчка - m, количество рабочих мест; потом идет n строк по m элементов, i-ый элемент j-ой строки есть производительность j-го человека на i-ом месте. Пример файла manpower.dat : Код 3 4 1 1.2 2 0.5 0 3 1.5 1 0 2 1.8 0 Этот вариант годится только для случая, когда нет безработицы ![]() -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
.helga |
![]()
Сообщение
#6
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Женский Репутация: ![]() ![]() ![]() |
По идее, задача о назначениях - частный случай транспортной задачи, когда n=m. Так что в этих задачах всегда полная занятость
![]() спасибо. буду смотреть/думать. |
Lapp |
![]()
Сообщение
#7
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
в этих задачах всегда полная занятость Ну, не знаю.. Мне кажется, что без этого решение не полное. Короче, вот полный вариант: {оптимизация размещения работников по рабочим местам} И, соответственно, пример файла данных к ней: Код 3 2 1 1.2 0 3 1.5 2 -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 13.08.2025 23:09 |