<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Svyatoslav</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Svyatoslav"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Svyatoslav"/>
		<updated>2026-05-04T11:39:11Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%D1%85_%D0%BA_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B5_%D0%BE_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B5_%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D1%81%D1%82%D0%BE%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8&amp;diff=17175</id>
		<title>Сведение задачи о назначениях к задаче о потоке минимальной стоимости</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8_%D0%BE_%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%D1%85_%D0%BA_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B5_%D0%BE_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B5_%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9_%D1%81%D1%82%D0%BE%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8&amp;diff=17175"/>
				<updated>2012-01-17T19:29:55Z</updated>
		
		<summary type="html">&lt;p&gt;Svyatoslav: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Постановка задачи ==&lt;br /&gt;
* Дана квадратная матрица &amp;lt;tex&amp;gt;A_{N\times N}&amp;lt;/tex&amp;gt;. Нужно выбрать в ней &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt; элементов так, чтобы в каждой строке и в каждом столбце был выбран только один элемент, а сумма значений этих элементов была наименьшей.&lt;br /&gt;
* Имеется &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt; заказов и &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt; станков. Про каждый заказ известна стоимость его изготовления на каждом станке. На каждом станке можно выполнять только один заказ. Требуется распределить все заказы по станкам так, чтобы минимизировать суммарную стоимость.&lt;br /&gt;
&lt;br /&gt;
== Сведение к задаче о потоке минимальной стоимости ==&lt;br /&gt;
[[Файл:pic1.PNG|thumb|right|275x250px|Пример построенного графа для матрицы А]]&lt;br /&gt;
Построим двудольный граф &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; следующим образом:&lt;br /&gt;
* Имеется исток &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; и сток &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* В первой доле находятся &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt; вершин, соответствующие строкам матрицы или заказам. &lt;br /&gt;
* Во второй &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt; вершин, соответствующие столбцам матрицы или станкам.&lt;br /&gt;
* Между каждой вершиной &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; первой доли и каждой вершиной &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; второй доли проведём ребро с пропускной способностью 1 и стоимостью &amp;lt;tex&amp;gt;A_{ij}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
* От истока &amp;lt;tex&amp;gt;S&amp;lt;/tex&amp;gt; проведём рёбра ко всем вершинам &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; первой доли с пропускной способностью 1 и стоимостью 0.&lt;br /&gt;
* От каждой вершины второй доли &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; к стоку &amp;lt;tex&amp;gt;T&amp;lt;/tex&amp;gt; проведём ребро с пропускной способностью 1 и стоимостью 0.&lt;br /&gt;
&lt;br /&gt;
Найдём в полученном графе &amp;lt;tex&amp;gt;G&amp;lt;/tex&amp;gt; максимальный [[Поток минимальной стоимости|поток минимальной стоимости]]. &amp;lt;br /&amp;gt;&lt;br /&gt;
Понятно, что величина потока будет равна &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt;. Заметим, что для каждой вершины &amp;lt;tex&amp;gt;i&amp;lt;/tex&amp;gt; из первой доли найдётся только одна вершина &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; из второй доли, такая, что поток &amp;lt;tex&amp;gt;f(i, j) = 1&amp;lt;/tex&amp;gt;. Поскольку найденный поток имеет минимальную стоимость, то сумма стоимостей выбранных рёбер будет наименьшей из возможных. Поэтому это взаимно однозначное соответствие между вершинами первой доли и вершинами второй доли является решением задачи.&lt;br /&gt;
== Асимптотика == &lt;br /&gt;
Асимптотика этого решения равна асимптотике алгоритма, выбранного для поиска потока.&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
[http://e-maxx.ru/algo/assignment_mincostflow Задача о назначениях. Решение с помощью min-cost-flow]&lt;br /&gt;
* Ravindra Ahuja, Thomas Magnanti, James Orlin. Network flows (1993)&lt;br /&gt;
&lt;br /&gt;
[[Категория: Задача о потоке минимальной стоимости]]&lt;/div&gt;</summary>
		<author><name>Svyatoslav</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Pic1.PNG&amp;diff=17174</id>
		<title>Файл:Pic1.PNG</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Pic1.PNG&amp;diff=17174"/>
				<updated>2012-01-17T19:29:20Z</updated>
		
		<summary type="html">&lt;p&gt;Svyatoslav: Пример построенного графа для данной матрицы А&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Пример построенного графа для данной матрицы А&lt;/div&gt;</summary>
		<author><name>Svyatoslav</name></author>	</entry>

	</feed>