RU2084954C1 - Device which solves assignment problem - Google Patents
Device which solves assignment problem Download PDFInfo
- Publication number
- RU2084954C1 RU2084954C1 RU94019265A RU94019265A RU2084954C1 RU 2084954 C1 RU2084954 C1 RU 2084954C1 RU 94019265 A RU94019265 A RU 94019265A RU 94019265 A RU94019265 A RU 94019265A RU 2084954 C1 RU2084954 C1 RU 2084954C1
- Authority
- RU
- Russia
- Prior art keywords
- output
- input
- block
- unit
- information
- Prior art date
Links
Images
Abstract
Description
Изобретение относится к области вычислительной техники и может быть использовано для решения задачи о назначениях и транспортных задач линейного программирования. The invention relates to the field of computer technology and can be used to solve the assignment and transport problems of linear programming.
Сущность рассматриваемой задачи заключается в следующем. Имеется n работ, для выполнения которых можно использовать n исполнителей, причем каждый исполнитель может выполнить только одну работу. Задана матрица длительности выполнения работ tij, (i, j)-тый элемент которой равен времени, необходимому для выполнения j-той работы i-тым исполнителем. Необходимо так распределить n исполнителей по n работы, чтобы временные затраты были минимальные, а все работы выполнены.The essence of the problem under consideration is as follows. There are n jobs for which n performers can be used, and each performer can only do one job. The matrix of the duration of the work t ij , (i, j) -th element of which is equal to the time required for the j-th work to be performed by the i-th performer. It is necessary to distribute n performers by n jobs so that the time costs are minimal and all work is completed.
Известны устройства для решения транспортных задач линейного программирования [1,2] которые позволяют определить лишь приближенное решение задачи. Known devices for solving transport linear programming problems [1,2] which allow you to determine only an approximate solution to the problem.
Наиболее близким по технической сущности к заявляемому устройству является устройство для решения задач оптимизации [3] содержащее блок перечисления множеств элементов покрытия, блок памяти, регистр, блок задания матрицы покрытия, блок проверки условий покрытия и накапливающий блок выбора минимальной суммы. Устройство позволяет определить точное решение задачи о покрытии, но не позволяет решать рассматриваемую задачу о назначениях. Closest to the technical nature of the claimed device is a device for solving optimization problems [3] comprising a block for listing the sets of coverage elements, a memory block, a register, a block for defining a coverage matrix, a block for checking coverage conditions, and an accumulating block for selecting the minimum amount. The device allows you to determine the exact solution to the problem of coverage, but does not allow you to solve the considered task of assignments.
Целью изобретения является расширение функциональных возможностей устройства за счет решения задачи о назначениях по минимаксному критерию. The aim of the invention is to expand the functionality of the device by solving the assignment problem by minimax criteria.
Сущность изобретения заключается в том, что в устройство, содержащее блок синхронизации, введены блок формирования временных затрат, связанных с выполнением работ исполнителями, накапливающий блок выбора минимального времени выполнения работ, блок регистров, счетчик и блок генерации перестановок. The essence of the invention lies in the fact that in the device containing the synchronization unit, a unit for generating time costs associated with the execution of work by the performers, an accumulating unit for selecting the minimum execution time, a register unit, a counter and a permutation generation unit are introduced.
Так, наличие блока формирования временных затрат, содержащего группу из n дешифраторов, вход каждого из которых подключен к соответствующему выходу блока 1 генерации перестановок, а j-тый выход, i-того дешифратора подключен ко входу разрешения выдачи информации j-того регистра, соответствующей i-той группы регистров, обеспечивает формирование величин временных затрат, соответствующих закреплению i-того исполнителя за j-той работой, Причем информационные выходы всех регистров данного блока соединены с соответствующими входами накапливающего блока 5 выбора минимального времени суммы, что обеспечивает считывание величин временных затрат, соответствующих закреплению i-того исполнителя за j-той работой, и последующее определение минимальных временных затрат на выполнение всех работ при текущем распределении исполнителей.So, the presence of a time-generating unit containing a group of n decoders, the input of each of which is connected to the corresponding output of the
Введение в рассматриваемое устройство блока регистров, i-тый информационный вход которого соединен с соответствующим i-тым выходом блока генерации перестановок, а вход разрешения записи с выходом "не больше" накапливающего блока выбора минимального времени, позволяет сохранить такой текущий вариант закрепления работ за исполнителями, который обеспечивает минимальную величину временных затрат.An introduction to the device in question of the register block, the i-th information input of which is connected to the corresponding i-th output of the permutation generation block, and the recording permission input with the output "no more" of the accumulating block for selecting the minimum time allows you to save such a current option of assigning work to the performers, which provides a minimum amount of time.
Функциональная схема устройства представлена на фиг. 1. A functional diagram of the device is shown in FIG. one.
Устройство содержит блок 1 генерации перестановок, блок 2 регистров, блок 3 синхронизации, блок 4 формирования временных затрат (связанных с выполнением работ исполнителями), накапливающий блок 5 выбора минимального числа, счетчик 6, вход 7 запуска устройства, выход 8 оптимального назначения, выход 9 временных затрат, соответствующих оптимальному назначению, выход 10 признака окончания вычисления, а также первый 11, второй 12 и третий 13 выходы блока 3 синхронизации. The device comprises a
Блок 1 генерации перестановок предназначен для формирования всех возможных перестановок чисел 1, 2, n на своих n информационных выходах. При этом появление числа m на k-том информационном выходе означает, что k-тый исполнитель назначается на м-работу. В качестве такого блока может быть использовано устройство для перебора перестановок [5] изображенное на фиг. 2 и включающее блок 16 формирования множества чисел и блок 17 декодирования [5]
Блок 16 предназначен для формирования определяющего множества чисел в соответствии с выбранным вариантом перестановки, выбором минимального числа из этого множества и подачи его на блок декодирования 17. Блок 16 содержит регистры дешифратор 19, схему выбора минимального числа 20, ключи элемент задержки 22, управляющий вход 23, информационный вход 24 и информационный выход 25.The
Блок 17 предназначен для преобразования заданного натурального числа в соответствующую ему перестановку. Блок 17 содержит регистры 26, 27i, 28i<блоки деления 29i, сумматоры 30i, элементы задержки 31i, 32i, вход пуска 33, элементы ИЛИ 34, 35, ключи 36i, второй информационный вход 37, управляющий выход 38, информационный выход 39, информационный вход 40 и группу информационных выходов устройства
Вход пуска устройства для перебора перестановок 33 соединяется с выходом 12 блока 3, а информационный вход устройства 40 соединяется с выходом счетчика 6. Информационные выходы устройства соответствует n информационным выходам блока 1. Работа блока 1 подробно рассмотрена в [5]
Блок 2 регистров предназначен для хранения лучшего текущего назначения и содержит n регистров, каждый из которых имеет свой информационный вход, а все входы разрешения записи объединены и образуют вход разрешения записи блока.
The start input of the device for enumerating
Блок 3 синхронизации предназначен для упорядочения и согласования во времени моментов поступления сигналов на отдельные элементы и блоки предлагаемого устройства. Block 3 synchronization is designed to organize and coordinate in time the moments of the arrival of signals to individual elements and blocks of the proposed device.
Блок 4 формирования временных величин затрат предназначен для определения величин, характеризующих временные затраты, связанные с назначениями исполнителей за работами и содержит группу из n дешифраторов 141,14n и n*n регистров хранения величин затрат
Накапливающий блок 5 выбора минимального числа предназначен для выбора из всех кодов, поступающих на его входы, максимального значения, сравнения полученного значения кода со значением, выбранным в предыдущих тактах работы, и в том случае, если текущее значение кода не превышает ранее полученное значение, запоминая его на выходе 9 и выработки признака "не больше" данного блока [3] В качестве приема накапливающего блока выбора минимального числа может быть использован блок, изображенный на фиг. 3 [3]
Блок 5 содержит информационные входы
, блок выбора максимума 43, регистры 44,45, блок сравнения 46 с управляющим входом 49, выход 47 признака "не больше", элемент задержки 48, информационный выход 9.
The accumulating
,
Управляющий вход 49 сравнения 46 соединяется с выходом 13 блока 3. Выход 47, соединенный с входом разрешения записи блока 2, служит для подачи признака "не больше" на вход разрешения записи блока 2. The
Устройство для решения задачи о назначениях работает следующим образом. A device for solving the assignment problem works as follows.
Перед началом решения записывают (-1) в счетчик 6, максимально возможное число в регистр 44 хранения минимального значения кода блока 5, в регистры блока формирования величин временных затрат заносят величины временных затрат tij, связанных с назначением i-того исполнителя для выполнения j-той работы, а также обнуляют регистры блока 2 регистров, в регистры 18i, 18n хранения переставляемых элементов блока 1 генерации перестановок записывают числа 1, 2, n.Before starting the solution, write (-1) to counter 6, the maximum possible number in the
Для решения задачи на вход блока 7 запуска устройства подают импульс уровня логической единицы. При этом блок 3 синхронизации формирует на своих выходах 11, 12, и 13 последовательность сигналов уровня логической единицы, предусмотренную временной диаграммой его работы и представленную на фиг. 4. To solve the problem, an input of the
Сигнал уровня логической единицы с первого выхода 11 блока 3 синхронизации поступает на счетный вход счетчика 6, формируя его на выходе первое число (0), которое затем поступает на информационный вход 40 блока 1 генерации перестановок. Через время τ1 достаточное для выполнения указанных операций, блок 3 формирует потенциал уровня логической единицы на своем втором выходе 12, поступающий затем на вход 33 пуска блока 1 генерации перестановок, в результате чего на его информационных выходах будет сформирована первая перестановка чисел 1, 2, n. Функционирование блока 1 подробно рассмотрено в [4]
При этом, коды чисел поступают на входы дешифраторов блока формирования величин временных затрат, обеспечивая получение сигнала уровня логической единицы на том из своих n выходов, номер которого соответствует величине поступившего на него числа. Таким образом, для первой перестановки на j-том выходе дешифратора 14i будет сигнал уровня логической единицы. Этот сигнал поступит на входы разрешения выдачи информации с соответствующего регистра матрицы регистров блока 4 формирования величин временных затрат. Для первой перестановки это будут регистры 1511,1522, 15nn, информация с которых поступит на информационные входы накапливающего блока 5 выбора минимальной суммы.The signal of the logic unit level from the
In this case, the codes of numbers are fed to the inputs of the decoders unit of formation of values of time costs, providing a signal of the level of a logical unit at that of its n outputs, the number of which corresponds to the value received on it. Thus, for the first permutation on the j- th output of the
В блоке 5 осуществляется блоком 43 выбор максимального значения кода из поступивших на его информационные выходы (тем самым определяется максимальное время, необходимое для выполнения комплекса работ). Функционирование блока 43 выбора максимума рассмотрено в [5] Значение кода времени поступает на информационный вход регистра 45 и второй вход блока сравнения 46, на первый вход которого из регистра 44 поступает значение минимального к текущему времени кода. Через время τ2 достаточное для выполнения указанных операций, блок 3 синхронизации формирует импульс уровня логической единицы на выходе 13 продолжительностью τ3 который через вход поступает на вход запуска блока сравнения 46, который сравнивает значение минимального к настоящему времени кода временных затрат из регистра 44 со значением временных затрат текущего варианта и если последнее меньше, то на выходе "не больше" блока 46 появляется сигнал логической единицы, который поступает на вход разрешения записи блока 2 регистров, сохраняя текущий вариант, как лучший.In
Через время τ3 достаточное для выполнения указанных процессов, блок 3 снимает потенциал высокого уровня с выходов 12 и 13. При этом сигнал уровня логической единицы, пройдя через устройство задержки 48, через время τ4 > τ3 поступает на вход разрешения считывания регистра 45, информация с которого будет переписана в регистр 44 и текущие временные затраты будут сохранены в качестве лучшего значения.After a time τ 3 sufficient to perform these processes, block 3 removes the high level potential from
После выполнения указанных операций блок 3 формирует импульс уровня логической единицы на выходе 11, который поступает на вход счетчика 6, на информационном выходе которого будет сформировано новое число (1), в соответствии с которым далее в блоке 1 генерации перестановок будет образована новая перестановка. After performing these operations, block 3 generates a logic level level pulse at
Далее работа устройства продолжается до тех пор, пока не будут перебраны все возможные комбинации назначений, после чего счетчик 6 формирует на выходе 10 сигнал окончания вычислений. При этом на выходе 8 устройства будет сформировано оптимальное назначение, а на выходе 9 величина временных затрат, соответствующая оптимальному назначению. Further, the operation of the device continues until all possible combinations of assignments are enumerated, after which counter 6 generates an output signal for the calculation at output 10. In this case, at the output 8 of the device, the optimal destination will be formed, and at the
Таким образом, предлагаемое устройство обеспечивает получение точного решения задачи о назначениях за конечное число шагов по минимаксному критерию. Thus, the proposed device provides an exact solution to the assignment problem in a finite number of steps by the minimax criterion.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU94019265A RU2084954C1 (en) | 1994-05-24 | 1994-05-24 | Device which solves assignment problem |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU94019265A RU2084954C1 (en) | 1994-05-24 | 1994-05-24 | Device which solves assignment problem |
Publications (2)
Publication Number | Publication Date |
---|---|
RU94019265A RU94019265A (en) | 1996-04-27 |
RU2084954C1 true RU2084954C1 (en) | 1997-07-20 |
Family
ID=20156383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU94019265A RU2084954C1 (en) | 1994-05-24 | 1994-05-24 | Device which solves assignment problem |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2084954C1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2511412C1 (en) * | 2012-12-24 | 2014-04-10 | федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) | Allocation problem solving device |
-
1994
- 1994-05-24 RU RU94019265A patent/RU2084954C1/en active
Non-Patent Citations (1)
Title |
---|
1. Авторское свидетельство СССР N 1515937, кл. G 06 F 15/20, 1990. 2. Авторское свидетельство СССР N 1649562, кл. G 06 F 15/20, 1991. 3. Авторское свидетельство СССР N 1711175, кл. G 06 F 15/20, 1992. 4. Авторское свидетельство СССР N 1410056, кл. G 06 F 15/20, 1988. 5. Авторское свидетельство СССР N 1716538, кл. G 06 F 15/419, 1992. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2511412C1 (en) * | 2012-12-24 | 2014-04-10 | федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) | Allocation problem solving device |
Also Published As
Publication number | Publication date |
---|---|
RU94019265A (en) | 1996-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4247905A (en) | Memory clear system | |
EP0449661B1 (en) | Computer for Simultaneously executing plural instructions | |
RU2084954C1 (en) | Device which solves assignment problem | |
US3900836A (en) | Interleaved memory control signal handling apparatus using pipelining techniques | |
US4374412A (en) | Circulating page loose system | |
US3512134A (en) | Apparatus for performing file search in a digital computer | |
US5708842A (en) | Apparatus for changing coefficients utilized to perform a convolution operation having address generator which uses initial count number and up/down count inputs received from external | |
US4183090A (en) | Magnetic bubble memory equipment | |
US6895070B2 (en) | Counter circuit | |
RU2275681C1 (en) | Device for finding lower positioning estimate in matrix systems | |
JPH0540698A (en) | Main storage page managing system | |
SU1444769A1 (en) | Multichannel arrangement for distributing tasks among processors | |
RU2296359C1 (en) | Device for positioning tasks in circular systems | |
FI98665C (en) | Signal program | |
RU2263953C1 (en) | Device for estimation of difference between current remoteness of position and optimal remoteness of position | |
SU1241255A1 (en) | Device for selecting variants of distribution of places among performers | |
SU1075311A1 (en) | Control unit for bubble memory | |
SU1495788A1 (en) | Random number generator | |
SU734767A1 (en) | Controllable random event generator | |
RU2285289C2 (en) | Device for planning positioning of problems in systems with circular organization during directional information transfer | |
SU1136172A1 (en) | Device for checking programs | |
SU1443141A1 (en) | Generator of pseudorandom sequences | |
SU943731A1 (en) | Device for code sequence analysis | |
SU1273941A1 (en) | Device for patitioning graphs into subgraphs | |
RU2017241C1 (en) | Memory |