# Решатель задачи о назначениях (венгерский алгоритм)

Решает задачи о назначениях 2–8 × 2–8 классическим венгерским алгоритмом (прямоугольные матрицы дополняются фиктивными строками/столбцами с нулевой стоимостью): редукция по строкам и столбцам, максимальное паросочетание нулей по увеличивающим путям, при нехватке — минимальное покрытие нулей линиями по Кёнигу с вычитанием наименьшего непокрытого элемента и прибавлением на пересечениях; задачи максимизации решаются на инвертированной матрице. Выводит каждую итерацию и итоговое назначение с общей стоимостью, проверенное подстановкой. Классика: [[9,2,7],[6,4,3],[5,8,1]] минимум → стоимость 9.

> Каноническая страница: https://elysiatools.com/ru/tools/assignment-problem-solver

- **Категория:** Math & Numbers

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

## Обзор

Онлайн-калькулятор решает задачу о назначениях размерностью от 2×2 до 8×8 с помощью венгерского алгоритма (метода Куна — Мункреса). Сервис выполняет редукцию матрицы по строкам и столбцам, находит минимальное покрытие нулей линиями и рассчитывает оптимальное взаимно однозначное распределение исполнителей по задачам для минимизации затрат или максимизации выгоды.

## Входные данные

- **Матрица затрат (по одной строке)** (textarea): Cost (or benefit) matrix, one row per worker, one column per task. 2–8 rows × 2–8 columns; rectangular matrices are padded with zero-cost dummies.
- **Цель** (select)
- **Знаков после запятой** (number)

## Когда использовать

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

## Как это работает

- Введите матрицу затрат или выгоды построчно (от 2×2 до 8×8), разделяя значения в строках запятыми или пробелами; прямоугольные матрицы автоматически дополняются фиктивными строками или столбцами.
- Выберите критерий оптимизации: минимизация суммарных затрат или максимизация выгоды (с внутренней инверсией матрицы).
- Алгоритм выполняет редукцию строк и столбцов, строит покрытие нулей по теореме Кёнига, ищет увеличивающие пути и формирует оптимальный план назначения с проверкой общей суммы.

## Сценарии использования

- Распределение заявок на доставку между курьерами для сокращения суммарного времени в пути.
- Назначение сотрудников на производственные операции с учетом их почасовой производительности и квалификации.
- Решение учебных задач и лабораторных работ по линейному программированию и исследованию операций.

## Частые вопросы

### Как алгоритм обрабатывает неквадратные матрицы?

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

### Как рассчитывается максимизация выгоды?

Элементы матрицы инвертируются, после чего применяется стандартный алгоритм минимизации, а итоговая выгода пересчитывается по исходным значениям.

### Матрицы какого максимального размера можно рассчитать?

Инструмент поддерживает матрицы затрат размером от 2×2 до 8×8.

### В каком формате нужно вводить исходную матрицу?

Каждая строка матрицы вводится с новой строки, а числовые элементы строки разделяются запятыми или пробелами.

### Выполняется ли проверка корректности итоговой суммы?

Да, найденное оптимальное распределение проверяется прямой подстановкой значений ячеек в исходную матрицу.

## Связанные инструменты

- [Калькулятор кратчайших путей (Дейкстра пошагово)](https://elysiatools.com/ru/tools/graph-shortest-path): Помощник ручного счёта алгоритма Дейкстры: введите 1–30 рёбер (по одному на строку: из, в, вес) и названия начального/конечного узлов; по умолчанию рёбра неориентированные, можно включить ориентированные. Каждая итерация протоколируется — какой узел фиксируется, с какой меткой и как каждое ослабление обновляет таблицу меток; ничьи разрешаются по лексикографически меньшему имени, поэтому журнал совпадает с учебной трассировкой; отрицательные веса отклоняются, недостижимость цели — корректный ответ. Классика: A-B 4, A-C 2, B-C 5, B-D 10, C-E 3, D-E 4, D-F 11, E-F 8, из A в F → расстояние 13 по пути A→C→E→F.
- [Перевёрнутый текст](https://elysiatools.com/ru/tools/upside-down-text): Переворачивает текст вверх ногами (ɥǝllo) ротациями по буквам, с опциональными переключателями для сохранения порядка чтения и защиты URL/email. Простой Unicode-текст, без шрифта.
- [Конструктор глав подкаста (ID3 / Podcasting 2.0)](https://elysiatools.com/ru/tools/podcast-chapter-marker-builder): Вставьте список глав с таймкодами и получите сразу все форматы: JSON глав Podcasting 2.0 (v1.2.0) и RSS-тег podcast:chapters, опциональное вписывание фреймов ID3v2.4 CHAP+CTOC прямо в загруженный MP3 (миллисекунды — обычный big-endian uint32, смещения 0xFFFFFFFF, подфрейм TIT2 на главу, существующие фреймы сохраняются), пары Vorbis-комментариев CHAPTER001 (OGG/Opus), текст mp4chaps, блок таймкодов для описания YouTube и SRT-сайдкар, плюс реальная матрица поддержки плеерами (Apple читает RSS-JSON с 2025; Pocket Casts/Overcast — только встроенный ID3; Spotify игнорирует и то, и другое).
- [STEM-физика: репетитор по графику скорость-время](https://elysiatools.com/ru/tools/education-stem-physics-kinematics-velocity-time-graph): Наглядный tutor по кинематике: график v-t (с решателем SUVAT для равноускоренного движения, площадь = перемещение), симулятор снаряда (g настраивается + сопротивление воздуха) и свободное падение
- [Список с отступами в ASCII-дерево](https://elysiatools.com/ru/tools/ascii-tree-from-indented-list): Превращает иерархический список с отступами (2/4 пробела или таб; префиксы -, *, 1. опциональны) в копируемое ASCII-дерево каталогов. Два стиля: Unicode-рамка и классический ASCII. Переключатели: полные направляющие линии, хвостовые пробелы, листья в скобках.
- [Калькулятор Дня Недели](https://elysiatools.com/ru/tools/day-of-week-calculator): Вычисляет, на какой день недели приходится заданная дата
- [Транскрибатор аудио в текст (ИИ)](https://elysiatools.com/ru/tools/audio-to-text-transcriber): Транскрибирует речь из аудио (wav/mp3/m4a/flac/ogg/webm/aac) в текст, SRT, VTT или JSON моделью grok-stt. До 10 минут.
- [FFmpeg Редукция Шума Аудио](https://elysiatools.com/ru/tools/ffmpeg-audio-noise-reduction): Профессиональная редукция шума аудио с использованием продвинутых фильтров FFmpeg (highpass, afftdn, loudnorm) для оптимальной очистки аудио

## Примеры

- [Примеры Анализа Логов ELK Stack](https://elysiatools.com/ru/samples/elk-stack-samples): Комплексные примеры ELK Stack для агрегации, обработки и визуализации логов в распределенных системах
- [MP3 Аудио Образцы Без Авторских Прав](https://elysiatools.com/ru/samples/mp3-samples): Коллекция аудио образцов без авторских прав для тестирования и разработки, включая звуки природы, медитативную музыку и фоновое аудио
- [Именованные Захватывающие Группы Regex](https://elysiatools.com/ru/samples/regex-named-groups): Коллекция паттернов регулярных выражений, использующих именованные захватывающие группы для извлечения структурированных данных из текста. Именованные группы делают паттерны более читаемыми и поддерживаемыми, присваивая значимые имени захваченным частям.
- [Примеры Переменных Среды (.env)](https://elysiatools.com/ru/samples/env-samples): Примеры конфигурации переменных среды для различных типов приложений и сред
