Hardprob/Minimum B-Balanced Cut — различия между версиями
Материал из DISCOPAL
					
										
					
					StasFomin (обсуждение | вклад)  (Массовая правка: замена \rightarrow на →)  | 
				StasFomin (обсуждение | вклад)   | 
				||
| (не показано 6 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
<!-- start -->{{png-image-for-hard-problem|{{PAGENAME}}}}  | <!-- start -->{{png-image-for-hard-problem|{{PAGENAME}}}}  | ||
| − | * Граф <em>G=(V,E)</em>, веса на вершинах <  | + | * Граф <em>G=(V,E)</em>, веса на вершинах <em>w: V → N</em>, стоимости на ребрах <em>c: E → N</em>, рациональное число <em>b</em>, <m>0 < b ≤1/2</m>.  | 
| − | * Найти разрез <em>C</em>, т.е. подмножество вершин <  | + | * Найти разрез <em>C</em>, т.е. подмножество вершин <em>C⊆V</em>, такой, что    | 
<m>  | <m>  | ||
\begin{displaymath}  | \begin{displaymath}  | ||
| Строка 8: | Строка 8: | ||
</m>, где where <em>w(V')</em> означает сумму весов вершин в <em>V'</em>.  | </m>, где where <em>w(V')</em> означает сумму весов вершин в <em>V'</em>.  | ||
| − | * Минимизировать вес разреза, т.е. <m>  | + | * Минимизировать вес разреза, т.е.    | 
| − | \begin{displaymath}  | + |  <m>\begin{displaymath}\displaystyle\sum_{e∈ \delta(C)} c(e) → \min \end{displaymath}</m>,    | 
| − | \displaystyle\sum_{  | + | где <m>\delta(C)=\{e=\{v_1,v_2\}: e∈  E, v_1∈  C, v_2∈  V-C\}</m>  | 
| − | \end{displaymath}  | + | |
| − | </m>, где <m>\delta(C)=\{e=\{v_1,v_2\}:   | + | |
----  | ----  | ||
{{hard-problem-on-lab17|{{PAGENAME}}}}  | {{hard-problem-on-lab17|{{PAGENAME}}}}  | ||
* {{has-testdata-and-visualization}}  | * {{has-testdata-and-visualization}}  | ||
| − | * {{has-pyomo-model}}  | + | * {{has-pyomo-model}}, {{vim|819130590}}  | 
<!-- * {{has-npc-reduction}} -->  | <!-- * {{has-npc-reduction}} -->  | ||
<!-- * {{add-random-fuzzing-tests}} -->  | <!-- * {{add-random-fuzzing-tests}} -->  | ||
Текущая версия на 14:01, 19 апреля 2023
- Граф G=(V,E), веса на вершинах w: V → N, стоимости на ребрах c: E → N, рациональное число b, .
 - Найти разрез C, т.е. подмножество вершин C⊆V, такой, что
 
, где where w(V') означает сумму весов вершин в V'.
- Минимизировать вес разреза, т.е.
 
,
где
Код в «minimum-b-balanced-cut.ipynb» на гитлаб или живьем в лабе
-  
 — есть тестовые данные и визуализация. -  
 — есть Pyomo-формулировка для ЦЛП., 📺видео📺