русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ЗАДАЧА О НАЗНАЧЕНИЯХ


Дата добавления: 2015-07-04; просмотров: 2795; Нарушение авторских прав


 

В процессе управления производством возникают задачи назначения исполнителей на различные виды работ, например: подбор кадров и назначение кандидатов на вакантные должности, распределение источников капитальных вложении между различными проектами научно-технического развития, распределение экипажей самолетов между авиалиниями.

Задачу о назначениях можно сформулировать следующим образом. Необходимо выполнить N различных работ. Для их выполнения можно привлечь N рабочих. Каждый рабочий за определенную плату готов выполнить любую работу. Выполнение любой работы следует поручить одному рабочему. Любой рабочий может выполнить только одну работу. Требуется так распределить работы между рабочими, чтобы общие затраты на выполнение всех работ были минимальными.

Задача о назначениях в стандартной форме. При рассмотрении задачи о назначениях в стандартной форме предполагается, что количество рабочих равно количеству работ.

Обозначения:

сij — показатель эффективности назначения i-го рабочего на j-ую работу, например издержки выполнения i-м рабочим j-й работы;

xij переменная модели (хij = 1, если i-й рабочий используется на j-й работе, и xij = 0 в противном случае).

Модель задачи о назначениях:

(1)

(2а)

(2б)

(3)

Здесь (1) — целевая функция (минимум издержек на выполнение всех работ);

(2) — система ограничений, отражающая следующие условия:

а) каждая работа должна быть выполнена одним рабочим;

б) каждый рабочий может быть привлечен к одной работе;

(3) — условия двоичности переменных.

При решении задачи о назначениях исходной информацией является таблица задачи о назначениях с={сij}, элементами которой служат показатели эффективности назначений. Для задачи о назначениях, записанной в стандартной форме, количество строк этой таблицы совпадает с количеством столбцов:



Результатом решения задачи о назначениях (1)—(3) является вектор х*={ }, компоненты которого — целые числа.

Оптимальный план задачи о назначениях (1)—(3) можно представить в виде квадратной матрицы назначений, в каждой строке и в каждом столбце которой находится ровно одна единица. Такую матрицу иногда называют матрицей перестановок. Значение целевой функции (1), соответствующее оптимальному назначению, называют эффективностью назначений.

В комбинаторной интерпретации задача о назначениях заключается в определении такой перестановки исполнителей {1,2,…,n}, которая обеспечивает минимальную суммарную стоимость назначений. Очевидно, что решение такой задачи может быть получено перебором, однако существует ряд эффективных алгоритмов.

Введем необходимые определения.

Матрицей весов (или матрицей назначений) называется матрица вида C = {cij}n*n, где n – число вершин одной доли графа, в которой элементу cij присваивается значение веса соответствующего ребра двудольного графа.

Матрица C называется приведенной, если в каждом ее столбце и в каждой строке есть хотя бы один нуль.

Нулевые элементы матрицы C называются независимыми нулями, если для любого i, для которого выполняется условие 1<=i<=k, строка и столбец, на пересечении которых расположен элемент xi, не содержит другие нули xj для всех j k.

Для решения задачи о назначениях будем применять Венгерский алгоритм (алгоритм Куна) представленный в матричной форме.



<== предыдущая лекция | следующая лекция ==>
Графическое решение задачи линейного программирования | Венгерский алгоритм (матричная форма)


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.