<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.cs.hse.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ignat</id>
	<title>Wiki - Факультет компьютерных наук - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cs.hse.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ignat"/>
	<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/%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/Ignat"/>
	<updated>2026-09-21T14:27:51Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33956</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33956"/>
		<updated>2019-06-18T16:56:53Z</updated>

		<summary type="html">&lt;p&gt;Ignat: TSP criterias&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
Оценка за эту часть выставляется как минимум из 10 и {суммы оценок за три мини-ДЗ + оценка за контрольную работу}&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
Оценка за эту часть выставляется как количество баллов набранных за решение задача контеста. Решенная задача во время самого контеста стоит 2.5 балла, после контеста 1.25 балла.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
Оценка за эту часть выставляется как {минимум из 15 и {сумма баллов за два практических домашних задания}} / 1.5. Число 15 может быть еще скорректировано в нижнюю сторону.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
За экзамен выставляется оценка от 0 до 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
===Лекция 4===&lt;br /&gt;
Задача о кратчайших путях, построение решения с помощью техники Primal-Dual.&lt;br /&gt;
&lt;br /&gt;
===Лекция 5===&lt;br /&gt;
Задача о взвешенном паросочетании в двудольном графе, построение решения с помощью техники Primal-Dual. Существование совершенного паросочетания в регулярном двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Лекция 6===&lt;br /&gt;
Метод локального поиска. Его применения к задаче о расстановке ферзей и к задаче о раскраске графа. Метапоиски – метод отжига.&lt;br /&gt;
&lt;br /&gt;
===Лекция 7===&lt;br /&gt;
Формулировка задачи TSP в виде линейной программы с экспоненциальным числом условий. Граница Хелда-Карпа. Применение симплекс-метода для рещения TSP на практике.&lt;br /&gt;
Метод Branch&amp;amp;Cut решения ILP, метод секущих плоскостей. Секущие плоскости Гомори-Хватала.&lt;br /&gt;
&lt;br /&gt;
===Лекция 8===&lt;br /&gt;
Метод эллипсоидов и его применение к построению слабополиномиального решения задачи линейного программирования. &lt;br /&gt;
Задача о максимальном разрезе, жадное решение.&lt;br /&gt;
Сведение задачи о максимальном разрезе к задаче полуопределенного программирование и построение вероятностного 0.878-приближения.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
===Семинар 4===&lt;br /&gt;
Задача Set-Cover, построение линейной и двойственной программ. Округление решения линейной программы, дающее f-приближение. Primal-Dual алгоритм для эффективного поиска f-приближения в данной задачи.&lt;br /&gt;
&lt;br /&gt;
===Семинар 5===&lt;br /&gt;
Контрольная работа.&lt;br /&gt;
&lt;br /&gt;
===Семинар 6===&lt;br /&gt;
Задача коммивояжера (TSP). 2-приближенные алгоритм для метрической задачи. 1-5 приближенный алгоритм Кристофидеса. Локальные поиск – 2-OPT шаги, эвристика Lin-Kernighan.&lt;br /&gt;
&lt;br /&gt;
===Семинар 7===&lt;br /&gt;
Инструменты для решения задач дискретной оптимизации: GLPK, Gurobi, or-tools. Методика Contraint Programming и её применение к задаче Car-Sequencing. Задача об открытии складов, её формулировка в виде ILP.&lt;br /&gt;
&lt;br /&gt;
===Семинар 8===&lt;br /&gt;
Симплекс-метод, построение секущей плоскости из решения найденного симплекс-методом.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
===Задание 1 (задача о рюкзаке)===&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 28 апреля. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать задачу о рюкзаке. Архив с заданием доступен [https://yadi.sk/d/K7W0GqAjo8RGmQ здесь]. Обратите внимание, что ваше решение должно состоять из успешная посылка в Я.Контесте и написанный отчет, которые вы должны прислать по почту. При этом успешность посылки не означает, что ваше решение близко к оптимуму и наберем хоть какие-то баллы за задачу.&lt;br /&gt;
&lt;br /&gt;
Для задачи о рюкзаке имеется [http://akhmedov.me:50022/knapsack/ грейдер] - в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat.&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач доступен по [https://contest.yandex.ru/contest/12610 ссылке].&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Практика1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Критерии оценивания качества решения.&#039;&#039;&#039;&lt;br /&gt;
Для каждого закрытого теста в качестве baseline был выбран ответ жадного алгоритма, за него полагается 0.1 балла. За достижение оптимального ответа в тесте полагается 0.5 балла. Для остальных значений оценка вычисляется линейно исходя из двух указанных точек (например, если значение вашего решения лежит ровно посередине между оптимальным и жадным, то за него полагается 0.3 балла).&lt;br /&gt;
&lt;br /&gt;
Оценки за все 10 закрытых тестов суммируются и округляются вниз до ближайшего полуцелого числа. Таким образом финальная оценка лежит в диапазоне от 0 до 5 баллов. Причем 5 баллов получает только решение нашедшее оптимумы на всех закрытых тестах.&lt;br /&gt;
&lt;br /&gt;
Все тесты к задаче, а также ответы жадного и оптимального алгоритмов для закрытых тестов доступны по ссылке https://yadi.sk/d/2gZG00VoYoSeDA&lt;br /&gt;
&lt;br /&gt;
===Задание 2 (задача коммивояжера, задача об открытии складов, задача о сборке автомобилей)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 16 июня. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать несколько комбинаторных задач. Архив с заданием доступен [https://yadi.sk/d/Qqxag0uWdnL12A здесь]. Обратите внимание, что ваше решение должно состоять из успешной посылки в Я.Контесте и написанного отчета, которые вы должны прислать по почту. &lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач https://contest.yandex.ru/contest/12924.&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи Коммивояжера http://akhmedov.me:50028/tsp/ –  в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Номер группы. Практика2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Критерии оценивания качества решения в задаче коммивояжера.&#039;&#039;&#039;&lt;br /&gt;
Оценивание производилось следующим образом – было взято три базовых решения: &lt;br /&gt;
1) 2-приближение через MST, его оценка бралась за точку отсчета в 0 баллов за тест.&lt;br /&gt;
2) качественно написанный 2-OPT (с разными политиками выбора того, какие ребра и как переключать), величина этого решения соответствует оценки в 0.6 балла за тест.&lt;br /&gt;
3) решение близкое к оптимальному (лучшее решение с одного из публичных источников по задаче), величина этого решения полагалась равной максимуму в 1 балл за тест.&lt;br /&gt;
&lt;br /&gt;
После этого по ответу вашего решения линейной интерполяцией высчитывалась оценка за ваше решение, оценка складывалась по всем тестам и округлялась до ближайшего полуцелого числа.&lt;br /&gt;
&lt;br /&gt;
Тесты в TSP вещь ценная, поэтому готов их показать только лично по запросу с обещанием не выкладывать в открытый доступ.&lt;br /&gt;
&lt;br /&gt;
==Экзамен==&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/GP7lXeyKyKfF3Q Программа экзамена]&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/d/CWb9JstME0Rntw Здесь будут выкладываться разные статьи, полезные для подготовки]&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/GUF17cTPf5uT0A Порядок проведения экзамена]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
  * &amp;quot;An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic&amp;quot; [Keld Helsgaun] - описание эвристики Лина-Кернигана для задачи комивояжёра.&lt;br /&gt;
  * &amp;quot;The car sequencing problem: overview of state-of-the-art methods and industrial case-study of the ROADEF’2005 challenge problem&amp;quot; - описание эвристик, в том числе локального поиска, для задачи car sequencing.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33873</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33873"/>
		<updated>2019-06-10T08:18:54Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
Оценка за эту часть выставляется как минимум из 10 и {суммы оценок за три мини-ДЗ + оценка за контрольную работу}&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
Оценка за эту часть выставляется как количество баллов набранных за решение задача контеста. Решенная задача во время самого контеста стоит 2.5 балла, после контеста 1.25 балла.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
Оценка за эту часть выставляется как {минимум из 15 и {сумма баллов за два практических домашних задания}} / 1.5. Число 15 может быть еще скорректировано в нижнюю сторону.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
За экзамен выставляется оценка от 0 до 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
===Лекция 4===&lt;br /&gt;
Задача о кратчайших путях, построение решения с помощью техники Primal-Dual.&lt;br /&gt;
&lt;br /&gt;
===Лекция 5===&lt;br /&gt;
Задача о взвешенном паросочетании в двудольном графе, построение решения с помощью техники Primal-Dual. Существование совершенного паросочетания в регулярном двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Лекция 6===&lt;br /&gt;
Метод локального поиска. Его применения к задаче о расстановке ферзей и к задаче о раскраске графа. Метапоиски – метод отжига.&lt;br /&gt;
&lt;br /&gt;
===Лекция 7===&lt;br /&gt;
Формулировка задачи TSP в виде линейной программы с экспоненциальным числом условий. Граница Хелда-Карпа. Применение симплекс-метода для рещения TSP на практике.&lt;br /&gt;
Метод Branch&amp;amp;Cut решения ILP, метод секущих плоскостей. Секущие плоскости Гомори-Хватала.&lt;br /&gt;
&lt;br /&gt;
===Лекция 8===&lt;br /&gt;
Метод эллипсоидов и его применение к построению слабополиномиального решения задачи линейного программирования. &lt;br /&gt;
Задача о максимальном разрезе, жадное решение.&lt;br /&gt;
Сведение задачи о максимальном разрезе к задаче полуопределенного программирование и построение вероятностного 0.878-приближения.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
===Семинар 4===&lt;br /&gt;
Задача Set-Cover, построение линейной и двойственной программ. Округление решения линейной программы, дающее f-приближение. Primal-Dual алгоритм для эффективного поиска f-приближения в данной задачи.&lt;br /&gt;
&lt;br /&gt;
===Семинар 5===&lt;br /&gt;
Контрольная работа.&lt;br /&gt;
&lt;br /&gt;
===Семинар 6===&lt;br /&gt;
Задача коммивояжера (TSP). 2-приближенные алгоритм для метрической задачи. 1-5 приближенный алгоритм Кристофидеса. Локальные поиск – 2-OPT шаги, эвристика Lin-Kernighan.&lt;br /&gt;
&lt;br /&gt;
===Семинар 7===&lt;br /&gt;
Инструменты для решения задач дискретной оптимизации: GLPK, Gurobi, or-tools. Методика Contraint Programming и её применение к задаче Car-Sequencing. Задача об открытии складов, её формулировка в виде ILP.&lt;br /&gt;
&lt;br /&gt;
===Семинар 8===&lt;br /&gt;
Симплекс-метод, построение секущей плоскости из решения найденного симплекс-методом.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
===Задание 1 (задача о рюкзаке)===&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 28 апреля. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать задачу о рюкзаке. Архив с заданием доступен [https://yadi.sk/d/K7W0GqAjo8RGmQ здесь]. Обратите внимание, что ваше решение должно состоять из успешная посылка в Я.Контесте и написанный отчет, которые вы должны прислать по почту. При этом успешность посылки не означает, что ваше решение близко к оптимуму и наберем хоть какие-то баллы за задачу.&lt;br /&gt;
&lt;br /&gt;
Для задачи о рюкзаке имеется [http://akhmedov.me:50022/knapsack/ грейдер] - в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat.&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач доступен по [https://contest.yandex.ru/contest/12610 ссылке].&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Практика1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Критерии оценивания качества решения.&#039;&#039;&#039;&lt;br /&gt;
Для каждого закрытого теста в качестве baseline был выбран ответ жадного алгоритма, за него полагается 0.1 балла. За достижение оптимального ответа в тесте полагается 0.5 балла. Для остальных значений оценка вычисляется линейно исходя из двух указанных точек (например, если значение вашего решения лежит ровно посередине между оптимальным и жадным, то за него полагается 0.3 балла).&lt;br /&gt;
&lt;br /&gt;
Оценки за все 10 закрытых тестов суммируются и округляются вниз до ближайшего полуцелого числа. Таким образом финальная оценка лежит в диапазоне от 0 до 5 баллов. Причем 5 баллов получает только решение нашедшее оптимумы на всех закрытых тестах.&lt;br /&gt;
&lt;br /&gt;
Все тесты к задаче, а также ответы жадного и оптимального алгоритмов для закрытых тестов доступны по ссылке https://yadi.sk/d/2gZG00VoYoSeDA&lt;br /&gt;
&lt;br /&gt;
===Задание 2 (задача коммивояжера, задача об открытии складов, задача о сборке автомобилей)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 16 июня. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать несколько комбинаторных задач. Архив с заданием доступен [https://yadi.sk/d/Qqxag0uWdnL12A здесь]. Обратите внимание, что ваше решение должно состоять из успешной посылки в Я.Контесте и написанного отчета, которые вы должны прислать по почту. &lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач https://contest.yandex.ru/contest/12924.&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи Коммивояжера http://akhmedov.me:50028/tsp/ –  в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Номер группы. Практика2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Экзамен==&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/GP7lXeyKyKfF3Q Программа экзамена]&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/d/CWb9JstME0Rntw Здесь будут выкладываться разные статьи, полезные для подготовки]&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/GUF17cTPf5uT0A Порядок проведения экзамена]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
  * &amp;quot;An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic&amp;quot; [Keld Helsgaun] - описание эвристики Лина-Кернигана для задачи комивояжёра.&lt;br /&gt;
  * &amp;quot;The car sequencing problem: overview of state-of-the-art methods and industrial case-study of the ROADEF’2005 challenge problem&amp;quot; - описание эвристик, в том числе локального поиска, для задачи car sequencing.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33867</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33867"/>
		<updated>2019-06-09T17:27:22Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
Оценка за эту часть выставляется как минимум из 10 и {суммы оценок за три мини-ДЗ + оценка за контрольную работу}&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
Оценка за эту часть выставляется как количество баллов набранных за решение задача контеста. Решенная задача во время самого контеста стоит 2.5 балла, после контеста 1.25 балла.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
Оценка за эту часть выставляется как {минимум из 15 и {сумма баллов за два практических домашних задания}} / 1.5. Число 15 может быть еще скорректировано в нижнюю сторону.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
За экзамен выставляется оценка от 0 до 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
===Лекция 4===&lt;br /&gt;
Задача о кратчайших путях, построение решения с помощью техники Primal-Dual.&lt;br /&gt;
&lt;br /&gt;
===Лекция 5===&lt;br /&gt;
Задача о взвешенном паросочетании в двудольном графе, построение решения с помощью техники Primal-Dual. Существование совершенного паросочетания в регулярном двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Лекция 6===&lt;br /&gt;
Метод локального поиска. Его применения к задаче о расстановке ферзей и к задаче о раскраске графа. Метапоиски – метод отжига.&lt;br /&gt;
&lt;br /&gt;
===Лекция 7===&lt;br /&gt;
Формулировка задачи TSP в виде линейной программы с экспоненциальным числом условий. Граница Хелда-Карпа. Применение симплекс-метода для рещения TSP на практике.&lt;br /&gt;
Метод Branch&amp;amp;Cut решения ILP, метод секущих плоскостей. Секущие плоскости Гомори-Хватала.&lt;br /&gt;
&lt;br /&gt;
===Лекция 8===&lt;br /&gt;
Метод эллипсоидов и его применение к построению слабополиномиального решения задачи линейного программирования. &lt;br /&gt;
Задача о максимальном разрезе, жадное решение.&lt;br /&gt;
Сведение задачи о максимальном разрезе к задаче полуопределенного программирование и построение вероятностного 0.878-приближения.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
===Семинар 4===&lt;br /&gt;
Задача Set-Cover, построение линейной и двойственной программ. Округление решения линейной программы, дающее f-приближение. Primal-Dual алгоритм для эффективного поиска f-приближения в данной задачи.&lt;br /&gt;
&lt;br /&gt;
===Семинар 5===&lt;br /&gt;
Контрольная работа.&lt;br /&gt;
&lt;br /&gt;
===Семинар 6===&lt;br /&gt;
Задача коммивояжера (TSP). 2-приближенные алгоритм для метрической задачи. 1-5 приближенный алгоритм Кристофидеса. Локальные поиск – 2-OPT шаги, эвристика Lin-Kernighan.&lt;br /&gt;
&lt;br /&gt;
===Семинар 7===&lt;br /&gt;
Инструменты для решения задач дискретной оптимизации: GLPK, Gurobi, or-tools. Методика Contraint Programming и её применение к задаче Car-Sequencing. Задача об открытии складов, её формулировка в виде ILP.&lt;br /&gt;
&lt;br /&gt;
===Семинар 8===&lt;br /&gt;
Симплекс-метод, построение секущей плоскости из решения найденного симплекс-методом.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
===Задание 1 (задача о рюкзаке)===&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 28 апреля. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать задачу о рюкзаке. Архив с заданием доступен [https://yadi.sk/d/K7W0GqAjo8RGmQ здесь]. Обратите внимание, что ваше решение должно состоять из успешная посылка в Я.Контесте и написанный отчет, которые вы должны прислать по почту. При этом успешность посылки не означает, что ваше решение близко к оптимуму и наберем хоть какие-то баллы за задачу.&lt;br /&gt;
&lt;br /&gt;
Для задачи о рюкзаке имеется [http://akhmedov.me:50022/knapsack/ грейдер] - в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat.&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач доступен по [https://contest.yandex.ru/contest/12610 ссылке].&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Практика1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Критерии оценивания качества решения.&#039;&#039;&#039;&lt;br /&gt;
Для каждого закрытого теста в качестве baseline был выбран ответ жадного алгоритма, за него полагается 0.1 балла. За достижение оптимального ответа в тесте полагается 0.5 балла. Для остальных значений оценка вычисляется линейно исходя из двух указанных точек (например, если значение вашего решения лежит ровно посередине между оптимальным и жадным, то за него полагается 0.3 балла).&lt;br /&gt;
&lt;br /&gt;
Оценки за все 10 закрытых тестов суммируются и округляются вниз до ближайшего полуцелого числа. Таким образом финальная оценка лежит в диапазоне от 0 до 5 баллов. Причем 5 баллов получает только решение нашедшее оптимумы на всех закрытых тестах.&lt;br /&gt;
&lt;br /&gt;
Все тесты к задаче, а также ответы жадного и оптимального алгоритмов для закрытых тестов доступны по ссылке https://yadi.sk/d/2gZG00VoYoSeDA&lt;br /&gt;
&lt;br /&gt;
===Задание 2 (задача коммивояжера, задача об открытии складов, задача о сборке автомобилей)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 16 июня. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать несколько комбинаторных задач. Архив с заданием доступен [https://yadi.sk/d/Qqxag0uWdnL12A здесь]. Обратите внимание, что ваше решение должно состоять из успешной посылки в Я.Контесте и написанного отчета, которые вы должны прислать по почту. &lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач https://contest.yandex.ru/contest/12924.&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи Коммивояжера http://akhmedov.me:50028/tsp/ –  в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Номер группы. Практика2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Экзамен==&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/GP7lXeyKyKfF3Q Программа экзамена]&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/d/CWb9JstME0Rntw Здесь будут выкладываться разные статьи, полезные для подготовки]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
  * &amp;quot;An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic&amp;quot; [Keld Helsgaun] - описание эвристики Лина-Кернигана для задачи комивояжёра.&lt;br /&gt;
  * &amp;quot;The car sequencing problem: overview of state-of-the-art methods and industrial case-study of the ROADEF’2005 challenge problem&amp;quot; - описание эвристик, в том числе локального поиска, для задачи car sequencing.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33847</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33847"/>
		<updated>2019-06-06T18:06:54Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
Оценка за эту часть выставляется как минимум из 10 и {суммы оценок за три мини-ДЗ + оценка за контрольную работу}&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
Оценка за эту часть выставляется как количество баллов набранных за решение задача контеста. Решенная задача во время самого контеста стоит 2.5 балла, после контеста 1.25 балла.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
Оценка за эту часть выставляется как {минимум из 15 и {сумма баллов за два практических домашних задания}} / 1.5. Число 15 может быть еще скорректировано в нижнюю сторону.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
За экзамен выставляется оценка от 0 до 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
===Лекция 4===&lt;br /&gt;
Задача о кратчайших путях, построение решения с помощью техники Primal-Dual.&lt;br /&gt;
&lt;br /&gt;
===Лекция 5===&lt;br /&gt;
Задача о взвешенном паросочетании в двудольном графе, построение решения с помощью техники Primal-Dual. Существование совершенного паросочетания в регулярном двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Лекция 6===&lt;br /&gt;
Метод локального поиска. Его применения к задаче о расстановке ферзей и к задаче о раскраске графа. Метапоиски – метод отжига.&lt;br /&gt;
&lt;br /&gt;
===Лекция 7===&lt;br /&gt;
Формулировка задачи TSP в виде линейной программы с экспоненциальным числом условий. Граница Хелда-Карпа. Применение симплекс-метода для рещения TSP на практике.&lt;br /&gt;
Метод Branch&amp;amp;Cut решения ILP, метод секущих плоскостей. Секущие плоскости Гомори-Хватала.&lt;br /&gt;
&lt;br /&gt;
===Лекция 8===&lt;br /&gt;
Метод эллипсоидов и его применение к построению слабополиномиального решения задачи линейного программирования. &lt;br /&gt;
Задача о максимальном разрезе, жадное решение.&lt;br /&gt;
Сведение задачи о максимальном разрезе к задаче полуопределенного программирование и построение вероятностного 0.878-приближения.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
===Семинар 4===&lt;br /&gt;
Задача Set-Cover, построение линейной и двойственной программ. Округление решения линейной программы, дающее f-приближение. Primal-Dual алгоритм для эффективного поиска f-приближения в данной задачи.&lt;br /&gt;
&lt;br /&gt;
===Семинар 5===&lt;br /&gt;
Контрольная работа.&lt;br /&gt;
&lt;br /&gt;
===Семинар 6===&lt;br /&gt;
Задача коммивояжера (TSP). 2-приближенные алгоритм для метрической задачи. 1-5 приближенный алгоритм Кристофидеса. Локальные поиск – 2-OPT шаги, эвристика Lin-Kernighan.&lt;br /&gt;
&lt;br /&gt;
===Семинар 7===&lt;br /&gt;
Инструменты для решения задач дискретной оптимизации: GLPK, Gurobi, or-tools. Методика Contraint Programming и её применение к задаче Car-Sequencing. Задача об открытии складов, её формулировка в виде ILP.&lt;br /&gt;
&lt;br /&gt;
===Семинар 8===&lt;br /&gt;
Симплекс-метод, построение секущей плоскости из решения найденного симплекс-методом.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
===Задание 1 (задача о рюкзаке)===&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 28 апреля. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать задачу о рюкзаке. Архив с заданием доступен [https://yadi.sk/d/K7W0GqAjo8RGmQ здесь]. Обратите внимание, что ваше решение должно состоять из успешная посылка в Я.Контесте и написанный отчет, которые вы должны прислать по почту. При этом успешность посылки не означает, что ваше решение близко к оптимуму и наберем хоть какие-то баллы за задачу.&lt;br /&gt;
&lt;br /&gt;
Для задачи о рюкзаке имеется [http://akhmedov.me:50022/knapsack/ грейдер] - в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat.&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач доступен по [https://contest.yandex.ru/contest/12610 ссылке].&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Практика1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Критерии оценивания качества решения.&#039;&#039;&#039;&lt;br /&gt;
Для каждого закрытого теста в качестве baseline был выбран ответ жадного алгоритма, за него полагается 0.1 балла. За достижение оптимального ответа в тесте полагается 0.5 балла. Для остальных значений оценка вычисляется линейно исходя из двух указанных точек (например, если значение вашего решения лежит ровно посередине между оптимальным и жадным, то за него полагается 0.3 балла).&lt;br /&gt;
&lt;br /&gt;
Оценки за все 10 закрытых тестов суммируются и округляются вниз до ближайшего полуцелого числа. Таким образом финальная оценка лежит в диапазоне от 0 до 5 баллов. Причем 5 баллов получает только решение нашедшее оптимумы на всех закрытых тестах.&lt;br /&gt;
&lt;br /&gt;
Все тесты к задаче, а также ответы жадного и оптимального алгоритмов для закрытых тестов доступны по ссылке https://yadi.sk/d/2gZG00VoYoSeDA&lt;br /&gt;
&lt;br /&gt;
===Задание 2 (задача коммивояжера, задача об открытии складов, задача о сборке автомобилей)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 16 июня. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать несколько комбинаторных задач. Архив с заданием доступен [https://yadi.sk/d/Qqxag0uWdnL12A здесь]. Обратите внимание, что ваше решение должно состоять из успешной посылки в Я.Контесте и написанного отчета, которые вы должны прислать по почту. &lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач https://contest.yandex.ru/contest/12924.&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи Коммивояжера http://akhmedov.me:50028/tsp/ –  в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Номер группы. Практика2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Экзамен==&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/GP7lXeyKyKfF3Q Предварительная программа экзамена]&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
  * &amp;quot;An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic&amp;quot; [Keld Helsgaun] - описание эвристики Лина-Кернигана для задачи комивояжёра.&lt;br /&gt;
  * &amp;quot;The car sequencing problem: overview of state-of-the-art methods and industrial case-study of the ROADEF’2005 challenge problem&amp;quot; - описание эвристик, в том числе локального поиска, для задачи car sequencing.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33846</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33846"/>
		<updated>2019-06-06T17:40:38Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
Оценка за эту часть выставляется как минимум из 10 и {суммы оценок за три мини-ДЗ + оценка за контрольную работу}&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
Оценка за эту часть выставляется как количество баллов набранных за решение задача контеста. Решенная задача во время самого контеста стоит 2.5 балла, после контеста 1.25 балла.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
Оценка за эту часть выставляется как {минимум из 15 и {сумма баллов за два практических домашних задания}} / 1.5. Число 15 может быть еще скорректировано в нижнюю сторону.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
За экзамен выставляется оценка от 0 до 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
===Лекция 4===&lt;br /&gt;
Задача о кратчайших путях, построение решения с помощью техники Primal-Dual.&lt;br /&gt;
&lt;br /&gt;
===Лекция 5===&lt;br /&gt;
Задача о взвешенном паросочетании в двудольном графе, построение решения с помощью техники Primal-Dual. Существование совершенного паросочетания в регулярном двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Лекция 6===&lt;br /&gt;
Метод локального поиска. Его применения к задаче о расстановке ферзей и к задаче о раскраске графа. Метапоиски – метод отжига.&lt;br /&gt;
&lt;br /&gt;
===Лекция 7===&lt;br /&gt;
Формулировка задачи TSP в виде линейной программы с экспоненциальным числом условий. Граница Хелда-Карпа. Применение симплекс-метода для рещения TSP на практике.&lt;br /&gt;
Метод Branch&amp;amp;Cut решения ILP, метод секущих плоскостей. Секущие плоскости Гомори-Хватала.&lt;br /&gt;
&lt;br /&gt;
===Лекция 8===&lt;br /&gt;
Метод эллипсоидов и его применение к построению слабополиномиального решения задачи линейного программирования. &lt;br /&gt;
Задача о максимальном разрезе, жадное решение.&lt;br /&gt;
Сведение задачи о максимальном разрезе к задаче полуопределенного программирование и построение вероятностного 0.878-приближения.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
===Семинар 4===&lt;br /&gt;
Задача Set-Cover, построение линейной и двойственной программ. Округление решения линейной программы, дающее f-приближение. Primal-Dual алгоритм для эффективного поиска f-приближения в данной задачи.&lt;br /&gt;
&lt;br /&gt;
===Семинар 5===&lt;br /&gt;
Контрольная работа.&lt;br /&gt;
&lt;br /&gt;
===Семинар 6===&lt;br /&gt;
Задача коммивояжера (TSP). 2-приближенные алгоритм для метрической задачи. 1-5 приближенный алгоритм Кристофидеса. Локальные поиск – 2-OPT шаги, эвристика Lin-Kernighan.&lt;br /&gt;
&lt;br /&gt;
===Семинар 7===&lt;br /&gt;
Инструменты для решения задач дискретной оптимизации: GLPK, Gurobi, or-tools. Методика Contraint Programming и её применение к задаче Car-Sequencing. Задача об открытии складов, её формулировка в виде ILP.&lt;br /&gt;
&lt;br /&gt;
===Семинар 8===&lt;br /&gt;
Симплекс-метод, построение секущей плоскости из решения найденного симплекс-методом.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
===Задание 1 (задача о рюкзаке)===&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 28 апреля. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать задачу о рюкзаке. Архив с заданием доступен [https://yadi.sk/d/K7W0GqAjo8RGmQ здесь]. Обратите внимание, что ваше решение должно состоять из успешная посылка в Я.Контесте и написанный отчет, которые вы должны прислать по почту. При этом успешность посылки не означает, что ваше решение близко к оптимуму и наберем хоть какие-то баллы за задачу.&lt;br /&gt;
&lt;br /&gt;
Для задачи о рюкзаке имеется [http://akhmedov.me:50022/knapsack/ грейдер] - в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat.&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач доступен по [https://contest.yandex.ru/contest/12610 ссылке].&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Практика1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Критерии оценивания качества решения.&#039;&#039;&#039;&lt;br /&gt;
Для каждого закрытого теста в качестве baseline был выбран ответ жадного алгоритма, за него полагается 0.1 балла. За достижение оптимального ответа в тесте полагается 0.5 балла. Для остальных значений оценка вычисляется линейно исходя из двух указанных точек (например, если значение вашего решения лежит ровно посередине между оптимальным и жадным, то за него полагается 0.3 балла).&lt;br /&gt;
&lt;br /&gt;
Оценки за все 10 закрытых тестов суммируются и округляются вниз до ближайшего полуцелого числа. Таким образом финальная оценка лежит в диапазоне от 0 до 5 баллов. Причем 5 баллов получает только решение нашедшее оптимумы на всех закрытых тестах.&lt;br /&gt;
&lt;br /&gt;
Все тесты к задаче, а также ответы жадного и оптимального алгоритмов для закрытых тестов доступны по ссылке https://yadi.sk/d/2gZG00VoYoSeDA&lt;br /&gt;
&lt;br /&gt;
===Задание 2 (задача коммивояжера, задача об открытии складов, задача о сборке автомобилей)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 16 июня. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать несколько комбинаторных задач. Архив с заданием доступен [https://yadi.sk/d/Qqxag0uWdnL12A здесь]. Обратите внимание, что ваше решение должно состоять из успешной посылки в Я.Контесте и написанного отчета, которые вы должны прислать по почту. &lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач https://contest.yandex.ru/contest/12924.&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Номер группы. Практика2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Экзамен==&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/GP7lXeyKyKfF3Q Предварительная программа экзамена]&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
  * &amp;quot;An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic&amp;quot; [Keld Helsgaun] - описание эвристики Лина-Кернигана для задачи комивояжёра.&lt;br /&gt;
  * &amp;quot;The car sequencing problem: overview of state-of-the-art methods and industrial case-study of the ROADEF’2005 challenge problem&amp;quot; - описание эвристик, в том числе локального поиска, для задачи car sequencing.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33830</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33830"/>
		<updated>2019-06-05T21:27:41Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
===Лекция 4===&lt;br /&gt;
Задача о кратчайших путях, построение решения с помощью техники Primal-Dual.&lt;br /&gt;
&lt;br /&gt;
===Лекция 5===&lt;br /&gt;
Задача о взвешенном паросочетании в двудольном графе, построение решения с помощью техники Primal-Dual. Существование совершенного паросочетания в регулярном двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Лекция 6===&lt;br /&gt;
Метод локального поиска. Его применения к задаче о расстановке ферзей и к задаче о раскраске графа. Метапоиски – метод отжига.&lt;br /&gt;
&lt;br /&gt;
===Лекция 7===&lt;br /&gt;
Формулировка задачи TSP в виде линейной программы с экспоненциальным числом условий. Граница Хелда-Карпа. Применение симплекс-метода для рещения TSP на практике.&lt;br /&gt;
Метод Branch&amp;amp;Cut решения ILP, метод секущих плоскостей. Секущие плоскости Гомори-Хватала.&lt;br /&gt;
&lt;br /&gt;
===Лекция 8===&lt;br /&gt;
Метод эллипсоидов и его применение к построению слабополиномиального решения задачи линейного программирования. &lt;br /&gt;
Задача о максимальном разрезе, жадное решение.&lt;br /&gt;
Сведение задачи о максимальном разрезе к задаче полуопределенного программирование и построение вероятностного 0.878-приближения.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
===Семинар 4===&lt;br /&gt;
Задача Set-Cover, построение линейной и двойственной программ. Округление решения линейной программы, дающее f-приближение. Primal-Dual алгоритм для эффективного поиска f-приближения в данной задачи.&lt;br /&gt;
&lt;br /&gt;
===Семинар 5===&lt;br /&gt;
Контрольная работа.&lt;br /&gt;
&lt;br /&gt;
===Семинар 6===&lt;br /&gt;
Задача коммивояжера (TSP). 2-приближенные алгоритм для метрической задачи. 1-5 приближенный алгоритм Кристофидеса. Локальные поиск – 2-OPT шаги, эвристика Lin-Kernighan.&lt;br /&gt;
&lt;br /&gt;
===Семинар 7===&lt;br /&gt;
Инструменты для решения задач дискретной оптимизации: GLPK, Gurobi, or-tools. Методика Contraint Programming и её применение к задаче Car-Sequencing. Задача об открытии складов, её формулировка в виде ILP.&lt;br /&gt;
&lt;br /&gt;
===Семинар 8===&lt;br /&gt;
Симплекс-метод, построение секущей плоскости из решения найденного симплекс-методом.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
===Задание 1 (задача о рюкзаке)===&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 28 апреля. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать задачу о рюкзаке. Архив с заданием доступен [https://yadi.sk/d/K7W0GqAjo8RGmQ здесь]. Обратите внимание, что ваше решение должно состоять из успешная посылка в Я.Контесте и написанный отчет, которые вы должны прислать по почту. При этом успешность посылки не означает, что ваше решение близко к оптимуму и наберем хоть какие-то баллы за задачу.&lt;br /&gt;
&lt;br /&gt;
Для задачи о рюкзаке имеется [http://akhmedov.me:50022/knapsack/ грейдер] - в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat.&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач доступен по [https://contest.yandex.ru/contest/12610 ссылке].&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Практика1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Критерии оценивания качества решения.&#039;&#039;&#039;&lt;br /&gt;
Для каждого закрытого теста в качестве baseline был выбран ответ жадного алгоритма, за него полагается 0.1 балла. За достижение оптимального ответа в тесте полагается 0.5 балла. Для остальных значений оценка вычисляется линейно исходя из двух указанных точек (например, если значение вашего решения лежит ровно посередине между оптимальным и жадным, то за него полагается 0.3 балла).&lt;br /&gt;
&lt;br /&gt;
Оценки за все 10 закрытых тестов суммируются и округляются вниз до ближайшего полуцелого числа. Таким образом финальная оценка лежит в диапазоне от 0 до 5 баллов. Причем 5 баллов получает только решение нашедшее оптимумы на всех закрытых тестах.&lt;br /&gt;
&lt;br /&gt;
Все тесты к задаче, а также ответы жадного и оптимального алгоритмов для закрытых тестов доступны по ссылке https://yadi.sk/d/2gZG00VoYoSeDA&lt;br /&gt;
&lt;br /&gt;
===Задание 2 (задача коммивояжера, задача об открытии складов, задача о сборке автомобилей)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 16 июня. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать несколько комбинаторных задач. Архив с заданием доступен [https://yadi.sk/d/Qqxag0uWdnL12A здесь]. Обратите внимание, что ваше решение должно состоять из успешной посылки в Я.Контесте и написанного отчета, которые вы должны прислать по почту. &lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач https://contest.yandex.ru/contest/12924.&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Номер группы. Практика2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Экзамен==&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/GP7lXeyKyKfF3Q Предварительная программа экзамена]&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
  * &amp;quot;An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic&amp;quot; [Keld Helsgaun] - описание эвристики Лина-Кернигана для задачи комивояжёра.&lt;br /&gt;
  * &amp;quot;The car sequencing problem: overview of state-of-the-art methods and industrial case-study of the ROADEF’2005 challenge problem&amp;quot; - описание эвристик, в том числе локального поиска, для задачи car sequencing.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33829</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33829"/>
		<updated>2019-06-05T21:26:52Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
===Лекция 4===&lt;br /&gt;
Задача о кратчайших путях, построение решения с помощью техники Primal-Dual.&lt;br /&gt;
&lt;br /&gt;
===Лекция 5===&lt;br /&gt;
Задача о взвешенном паросочетании в двудольном графе, построение решения с помощью техники Primal-Dual. Существование совершенного паросочетания в регулярном двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Лекция 6===&lt;br /&gt;
Метод локального поиска. Его применения к задаче о расстановке ферзей и к задаче о раскраске графа. Метапоиски – метод отжига.&lt;br /&gt;
&lt;br /&gt;
===Лекция 7===&lt;br /&gt;
Формулировка задачи TSP в виде линейной программы с экспоненциальным числом условий. Граница Хелда-Карпа. Применение симплекс-метода для рещения TSP на практике.&lt;br /&gt;
Метод Branch&amp;amp;Cut решения ILP, метод секущих плоскостей. Секущие плоскости Гомори-Хватала.&lt;br /&gt;
&lt;br /&gt;
===Лекция 8===&lt;br /&gt;
Метод эллипсоидов и его применение к построению слабополиномиального решения задачи линейного программирования. &lt;br /&gt;
Задача о максимальном разрезе, жадное решение.&lt;br /&gt;
Сведение задачи о максимальном разрезе к задаче полуопределенного программирование и построение вероятностного 0.878-приближения.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
===Семинар 4===&lt;br /&gt;
Задача Set-Cover, построение линейной и двойственной программ. Округление решения линейной программы, дающее f-приближение. Primal-Dual алгоритм для эффективного поиска f-приближения в данной задачи.&lt;br /&gt;
&lt;br /&gt;
===Семинар 5===&lt;br /&gt;
Контрольная работа.&lt;br /&gt;
&lt;br /&gt;
===Семинар 6===&lt;br /&gt;
Задача коммивояжера (TSP). 2-приближенные алгоритм для метрической задачи. 1-5 приближенный алгоритм Кристофидеса. Локальные поиск – 2-OPT шаги, эвристика Lin-Kernighan.&lt;br /&gt;
&lt;br /&gt;
===Семинар 7===&lt;br /&gt;
Инструменты для решения задач дискретной оптимизации: GLPK, Gurobi, or-tools. Методика Contraint Programming и её применение к задаче Car-Sequencing. Задача об открытии складов, её формулировка в виде ILP.&lt;br /&gt;
&lt;br /&gt;
===Семинар 8===&lt;br /&gt;
Симплекс-метод, построение секущей плоскости из решения найденного симплекс-методом.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
===Задание 1 (задача о рюкзаке)===&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 28 апреля. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать задачу о рюкзаке. Архив с заданием доступен [https://yadi.sk/d/K7W0GqAjo8RGmQ здесь]. Обратите внимание, что ваше решение должно состоять из успешная посылка в Я.Контесте и написанный отчет, которые вы должны прислать по почту. При этом успешность посылки не означает, что ваше решение близко к оптимуму и наберем хоть какие-то баллы за задачу.&lt;br /&gt;
&lt;br /&gt;
Для задачи о рюкзаке имеется [http://akhmedov.me:50022/knapsack/ грейдер] - в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat.&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач доступен по [https://contest.yandex.ru/contest/12610 ссылке].&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Практика1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Критерии оценивания качества решения.&#039;&#039;&#039;&lt;br /&gt;
Для каждого закрытого теста в качестве baseline был выбран ответ жадного алгоритма, за него полагается 0.1 балла. За достижение оптимального ответа в тесте полагается 0.5 балла. Для остальных значений оценка вычисляется линейно исходя из двух указанных точек (например, если значение вашего решение лежит ровно посередине между оптимальным и жадным, то за него полагается 0.3 балла).&lt;br /&gt;
&lt;br /&gt;
Оценки за все 10 закрытых тестов суммируются и округляются вниз до ближайшего полуцелого числа. Таким образом финальная оценка лежит в диапазоне от 0 до 5 баллов. Причем 5 баллов получает только решение нашедшее оптимумы на всех закрытых тестах.&lt;br /&gt;
&lt;br /&gt;
Все тесты к задаче, а также ответы жадного и оптимального алгоритмов для закрытых тестов доступны по ссылке https://yadi.sk/d/2gZG00VoYoSeDA&lt;br /&gt;
&lt;br /&gt;
===Задание 2 (задача коммивояжера, задача об открытии складов, задача о сборке автомобилей)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 16 июня. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать несколько комбинаторных задач. Архив с заданием доступен [https://yadi.sk/d/Qqxag0uWdnL12A здесь]. Обратите внимание, что ваше решение должно состоять из успешной посылки в Я.Контесте и написанного отчета, которые вы должны прислать по почту. &lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач https://contest.yandex.ru/contest/12924.&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Номер группы. Практика2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Экзамен==&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/GP7lXeyKyKfF3Q Предварительная программа экзамена]&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
  * &amp;quot;An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic&amp;quot; [Keld Helsgaun] - описание эвристики Лина-Кернигана для задачи комивояжёра.&lt;br /&gt;
  * &amp;quot;The car sequencing problem: overview of state-of-the-art methods and industrial case-study of the ROADEF’2005 challenge problem&amp;quot; - описание эвристик, в том числе локального поиска, для задачи car sequencing.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33828</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33828"/>
		<updated>2019-06-05T21:26:28Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
===Лекция 4===&lt;br /&gt;
Задача о кратчайших путях, построение решения с помощью техники Primal-Dual.&lt;br /&gt;
&lt;br /&gt;
===Лекция 5===&lt;br /&gt;
Задача о взвешенном паросочетании в двудольном графе, построение решения с помощью техники Primal-Dual. Существование совершенного паросочетания в регулярном двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Лекция 6===&lt;br /&gt;
Метод локального поиска. Его применения к задаче о расстановке ферзей и к задаче о раскраске графа. Метапоиски – метод отжига.&lt;br /&gt;
&lt;br /&gt;
===Лекция 7===&lt;br /&gt;
Формулировка задачи TSP в виде линейной программы с экспоненциальным числом условий. Граница Хелда-Карпа. Применение симплекс-метода для рещения TSP на практике.&lt;br /&gt;
Метод Branch&amp;amp;Cut решения ILP, метод секущих плоскостей. Секущие плоскости Гомори-Хватала.&lt;br /&gt;
&lt;br /&gt;
===Лекция 8===&lt;br /&gt;
Метод эллипсоидов и его применение к построению слабополиномиального решения задачи линейного программирования. &lt;br /&gt;
Задача о максимальном разрезе, жадное решение.&lt;br /&gt;
Сведение задачи о максимальном разрезе к задаче полуопределенного программирование и построение вероятностного 0.878-приближения.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
===Семинар 4===&lt;br /&gt;
Задача Set-Cover, построение линейной и двойственной программ. Округление решения линейной программы, дающее f-приближение. Primal-Dual алгоритм для эффективного поиска f-приближения в данной задачи.&lt;br /&gt;
&lt;br /&gt;
===Семинар 5===&lt;br /&gt;
Контрольная работа.&lt;br /&gt;
&lt;br /&gt;
===Семинар 6===&lt;br /&gt;
Задача коммивояжера (TSP). 2-приближенные алгоритм для метрической задачи. 1-5 приближенный алгоритм Кристофидеса. Локальные поиск – 2-OPT шаги, эвристика Lin-Kernighan.&lt;br /&gt;
&lt;br /&gt;
===Семинар 7===&lt;br /&gt;
Инструменты для решения задач дискретной оптимизации: GLPK, Gurobi, or-tools. Методика Contraint Programming и её применение к задаче Car-Sequencing. Задача об открытии складов, её формулировка в виде ILP.&lt;br /&gt;
&lt;br /&gt;
===Семинар 8===&lt;br /&gt;
Симплекс-метод, построение секущей плоскости из решения найденного симплекс-методом.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
===Задание 1 (задача о рюкзаке)===&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 28 апреля. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать задачу о рюкзаке. Архив с заданием доступен [https://yadi.sk/d/K7W0GqAjo8RGmQ здесь]. Обратите внимание, что ваше решение должно состоять из успешная посылка в Я.Контесте и написанный отчет, которые вы должны прислать по почту. При этом успешность посылки не означает, что ваше решение близко к оптимуму и наберем хоть какие-то баллы за задачу.&lt;br /&gt;
&lt;br /&gt;
Для задачи о рюкзаке имеется [http://akhmedov.me:50022/knapsack/ грейдер] - в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat.&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач доступен по [https://contest.yandex.ru/contest/12610 ссылке].&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Практика1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Критерии оценивания качества решения&lt;br /&gt;
Для каждого закрытого теста в качестве baseline был выбран ответ жадного алгоритма, за него полагается 0.1 балла. За достижение оптимального ответа в тесте полагается 0.5 балла. Для остальных значений оценка вычисляется линейно исходя из двух указанных точек (например, если значение вашего решение лежит ровно посередине между оптимальным и жадным, то за него полагается 0.3 балла).&lt;br /&gt;
&lt;br /&gt;
Оценки за все 10 закрытых тестов суммируются и округляются вниз до ближайшего полуцелого числа. Таким образом финальная оценка лежит в диапазоне от 0 до 5 баллов. Причем 5 баллов получает только решение нашедшее оптимумы на всех закрытых тестах.&lt;br /&gt;
&lt;br /&gt;
Все тесты к задаче, а также ответы жадного и оптимального алгоритмов для закрытых тестов доступны по ссылке https://yadi.sk/d/2gZG00VoYoSeDA&lt;br /&gt;
&lt;br /&gt;
===Задание 2 (задача коммивояжера, задача об открытии складов, задача о сборке автомобилей)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 16 июня. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать несколько комбинаторных задач. Архив с заданием доступен [https://yadi.sk/d/Qqxag0uWdnL12A здесь]. Обратите внимание, что ваше решение должно состоять из успешной посылки в Я.Контесте и написанного отчета, которые вы должны прислать по почту. &lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач https://contest.yandex.ru/contest/12924.&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  discret.opt.hse@gmail.com. В заголовке письма указывайте &amp;quot;ФИО Номер группы. Практика2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Экзамен==&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/GP7lXeyKyKfF3Q Предварительная программа экзамена]&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
  * &amp;quot;An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic&amp;quot; [Keld Helsgaun] - описание эвристики Лина-Кернигана для задачи комивояжёра.&lt;br /&gt;
  * &amp;quot;The car sequencing problem: overview of state-of-the-art methods and industrial case-study of the ROADEF’2005 challenge problem&amp;quot; - описание эвристик, в том числе локального поиска, для задачи car sequencing.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33826</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33826"/>
		<updated>2019-06-05T20:50:53Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
===Лекция 4===&lt;br /&gt;
Задача о кратчайших путях, построение решения с помощью техники Primal-Dual.&lt;br /&gt;
&lt;br /&gt;
===Лекция 5===&lt;br /&gt;
Задача о взвешенном паросочетании в двудольном графе, построение решения с помощью техники Primal-Dual. Существование совершенного паросочетания в регулярном двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Лекция 6===&lt;br /&gt;
Метод локального поиска. Его применения к задаче о расстановке ферзей и к задаче о раскраске графа. Метапоиски – метод отжига.&lt;br /&gt;
&lt;br /&gt;
===Лекция 7===&lt;br /&gt;
Формулировка задачи TSP в виде линейной программы с экспоненциальным числом условий. Граница Хелда-Карпа. Применение симплекс-метода для рещения TSP на практике.&lt;br /&gt;
Метод Branch&amp;amp;Cut решения ILP, метод секущих плоскостей. Секущие плоскости Гомори-Хватала.&lt;br /&gt;
&lt;br /&gt;
===Лекция 8===&lt;br /&gt;
Метод эллипсоидов и его применение к построению слабополиномиального решения задачи линейного программирования. &lt;br /&gt;
Задача о максимальном разрезе, жадное решение.&lt;br /&gt;
Сведение задачи о максимальном разрезе к задаче полуопределенного программирование и построение вероятностного 0.878-приближения.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
===Семинар 4===&lt;br /&gt;
Задача Set-Cover, построение линейной и двойственной программ. Округление решения линейной программы, дающее f-приближение. Primal-Dual алгоритм для эффективного поиска f-приближения в данной задачи.&lt;br /&gt;
&lt;br /&gt;
===Семинар 5===&lt;br /&gt;
Контрольная работа.&lt;br /&gt;
&lt;br /&gt;
===Семинар 6===&lt;br /&gt;
Задача коммивояжера (TSP). 2-приближенные алгоритм для метрической задачи. 1-5 приближенный алгоритм Кристофидеса. Локальные поиск – 2-OPT шаги, эвристика Lin-Kernighan.&lt;br /&gt;
&lt;br /&gt;
===Семинар 7===&lt;br /&gt;
Инструменты для решения задач дискретной оптимизации: GLPK, Gurobi, or-tools. Методика Contraint Programming и её применение к задаче Car-Sequencing. Задача об открытии складов, её формулировка в виде ILP.&lt;br /&gt;
&lt;br /&gt;
===Семинар 8===&lt;br /&gt;
Симплекс-метод, построение секущей плоскости из решения найденного симплекс-методом.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
===Задание 1 (задача о рюкзаке)===&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 28 апреля. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать задачу о рюкзаке. Архив с заданием доступен [https://yadi.sk/d/K7W0GqAjo8RGmQ здесь]. Обратите внимание, что ваше решение должно состоять из успешная посылка в Я.Контесте и написанный отчет, которые вы должны прислать по почту. При этом успешность посылки не означает, что ваше решение близко к оптимуму и наберем хоть какие-то баллы за задачу.&lt;br /&gt;
&lt;br /&gt;
Для задачи о рюкзаке имеется [http://akhmedov.me:50022/knapsack/ грейдер] - в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat.&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач доступен по [https://contest.yandex.ru/contest/12610 ссылке].&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  %%discret.opt.hse@gmail.com%%. В заголовке письма указывайте &amp;quot;ФИО Практика1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Задание 2 (задача коммивояжера, задача об открытии складов, задача о сборке автомобилей)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 16 июня. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать несколько комбинаторных задач. Архив с заданием доступен [https://yadi.sk/d/Qqxag0uWdnL12A здесь]. Обратите внимание, что ваше решение должно состоять из успешной посылки в Я.Контесте и написанного отчета, которые вы должны прислать по почту. &lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач https://contest.yandex.ru/contest/12924.&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  %%discret.opt.hse@gmail.com%%. В заголовке письма указывайте &amp;quot;ФИО Номер группы. Практика2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Экзамен==&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/GP7lXeyKyKfF3Q Предварительная программа экзамена]&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
  * &amp;quot;An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic&amp;quot; [Keld Helsgaun] - описание эвристики Лина-Кернигана для задачи комивояжёра.&lt;br /&gt;
  * &amp;quot;The car sequencing problem: overview of state-of-the-art methods and industrial case-study of the ROADEF’2005 challenge problem&amp;quot; - описание эвристик, в том числе локального поиска, для задачи car sequencing.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33825</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33825"/>
		<updated>2019-06-05T20:44:40Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
===Лекция 4===&lt;br /&gt;
Задача о кратчайших путях, построение решения с помощью техники Primal-Dual.&lt;br /&gt;
&lt;br /&gt;
===Лекция 5===&lt;br /&gt;
Задача о взвешенном паросочетании в двудольном графе, построение решения с помощью техники Primal-Dual. Существование совершенного паросочетания в регулярном двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Лекция 6===&lt;br /&gt;
Метод локального поиска. Его применения к задаче о расстановке ферзей и к задаче о раскраске графа. Метапоиски – метод отжига.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
===Семинар 4===&lt;br /&gt;
Задача Set-Cover, построение линейной и двойственной программ. Округление решения линейной программы, дающее f-приближение. Primal-Dual алгоритм для эффективного поиска f-приближения в данной задачи.&lt;br /&gt;
&lt;br /&gt;
===Семинар 5===&lt;br /&gt;
Контрольная работа.&lt;br /&gt;
&lt;br /&gt;
===Семинар 6===&lt;br /&gt;
Задача коммивояжера (TSP). 2-приближенные алгоритм для метрической задачи. 1-5 приближенный алгоритм Кристофидеса. Локальные поиск – 2-OPT шаги, эвристика Lin-Kernighan.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
===Задание 1 (задача о рюкзаке)===&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 28 апреля. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать задачу о рюкзаке. Архив с заданием доступен [https://yadi.sk/d/K7W0GqAjo8RGmQ здесь]. Обратите внимание, что ваше решение должно состоять из успешная посылка в Я.Контесте и написанный отчет, которые вы должны прислать по почту. При этом успешность посылки не означает, что ваше решение близко к оптимуму и наберем хоть какие-то баллы за задачу.&lt;br /&gt;
&lt;br /&gt;
Для задачи о рюкзаке имеется [http://akhmedov.me:50022/knapsack/ грейдер] - в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat.&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач доступен по [https://contest.yandex.ru/contest/12610 ссылке].&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  %%discret.opt.hse@gmail.com%%. В заголовке письма указывайте &amp;quot;ФИО Практика1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Задание 2 (задача коммивояжера, задача об открытии складов, задача о сборке автомобилей)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 16 июня. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать несколько комбинаторных задач. Архив с заданием доступен [https://yadi.sk/d/Qqxag0uWdnL12A здесь]. Обратите внимание, что ваше решение должно состоять из успешной посылки в Я.Контесте и написанного отчета, которые вы должны прислать по почту. &lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач https://contest.yandex.ru/contest/12924.&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  %%discret.opt.hse@gmail.com%%. В заголовке письма указывайте &amp;quot;ФИО Номер группы. Практика2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Экзамен==&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/GP7lXeyKyKfF3Q Предварительная программа экзамена]&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
  * &amp;quot;An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic&amp;quot; [Keld Helsgaun] - описание эвристики Лина-Кернигана для задачи комивояжёра.&lt;br /&gt;
  * &amp;quot;The car sequencing problem: overview of state-of-the-art methods and industrial case-study of the ROADEF’2005 challenge problem&amp;quot; - описание эвристик, в том числе локального поиска, для задачи car sequencing.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33823</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33823"/>
		<updated>2019-06-05T15:47:38Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
===Лекция 4===&lt;br /&gt;
Задача о кратчайших путях, построение решения с помощью техники Primal-Dual.&lt;br /&gt;
&lt;br /&gt;
===Лекция 5===&lt;br /&gt;
Задача о взвешенном паросочетании в двудольном графе, построение решения с помощью техники Primal-Dual. Существование совершенного паросочетания в регулярном двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Лекция 6===&lt;br /&gt;
Метод локального поиска. Его применения к задаче о расстановке ферзей и к задаче о раскраске графа. Метапоиски – метод отжига.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
===Семинар 4===&lt;br /&gt;
Задача Set-Cover, построение линейной и двойственной программ. Округление решения линейной программы, дающее f-приближение. Primal-Dual алгоритм для эффективного поиска f-приближения в данной задачи.&lt;br /&gt;
&lt;br /&gt;
===Семинар 5===&lt;br /&gt;
Контрольная работа.&lt;br /&gt;
&lt;br /&gt;
===Семинар 6===&lt;br /&gt;
Задача коммивояжера (TSP). 2-приближенные алгоритм для метрической задачи. 1-5 приближенный алгоритм Кристофидеса. Локальные поиск – 2-OPT шаги, эвристика Lin-Kernighan.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
===Задание 1 (задача о рюкзаке)===&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 28 апреля. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать задачу о рюкзаке. Архив с заданием доступен [https://yadi.sk/d/K7W0GqAjo8RGmQ здесь]. Обратите внимание, что ваше решение должно состоять из успешная посылка в Я.Контесте и написанный отчет, которые вы должны прислать по почту. При этом успешность посылки не означает, что ваше решение близко к оптимуму и наберем хоть какие-то баллы за задачу.&lt;br /&gt;
&lt;br /&gt;
Для задачи о рюкзаке имеется [http://akhmedov.me:50022/knapsack/ грейдер] - в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat.&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач доступен по [https://contest.yandex.ru/contest/12610 ссылке].&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  %%discret.opt.hse@gmail.com%%. В заголовке письма указывайте &amp;quot;ФИО Практика1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Задание 2 (задача коммивояжера, задача об открытии складов, задача о сборке автомобилей)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 16 июня. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать несколько комбинаторных задач. Архив с заданием доступен [https://yadi.sk/d/Qqxag0uWdnL12A здесь]. Обратите внимание, что ваше решение должно состоять из успешной посылки в Я.Контесте и написанного отчета, которые вы должны прислать по почту. &lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач появится в ближайшие часы.&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  %%discret.opt.hse@gmail.com%%. В заголовке письма указывайте &amp;quot;ФИО Номер группы. Практика2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Экзамен==&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/GP7lXeyKyKfF3Q Предварительная программа экзамена]&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
  * &amp;quot;An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic&amp;quot; [Keld Helsgaun] - описание эвристики Лина-Кернигана для задачи комивояжёра.&lt;br /&gt;
  * &amp;quot;The car sequencing problem: overview of state-of-the-art methods and industrial case-study of the ROADEF’2005 challenge problem&amp;quot; - описание эвристик, в том числе локального поиска, для задачи car sequencing.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33676</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33676"/>
		<updated>2019-05-24T09:42:30Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
===Лекция 4===&lt;br /&gt;
Задача о кратчайших путях, построение решения с помощью техники Primal-Dual.&lt;br /&gt;
&lt;br /&gt;
===Лекция 5===&lt;br /&gt;
Задача о взвешенном паросочетании в двудольном графе, построение решения с помощью техники Primal-Dual. Существование совершенного паросочетания в регулярном двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Лекция 6===&lt;br /&gt;
Метод локального поиска. Его применения к задаче о расстановке ферзей и к задаче о раскраске графа. Метапоиски – метод отжига.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
===Семинар 4===&lt;br /&gt;
Задача Set-Cover, построение линейной и двойственной программ. Округление решения линейной программы, дающее f-приближение. Primal-Dual алгоритм для эффективного поиска f-приближения в данной задачи.&lt;br /&gt;
&lt;br /&gt;
===Семинар 5===&lt;br /&gt;
Контрольная работа.&lt;br /&gt;
&lt;br /&gt;
===Семинар 6===&lt;br /&gt;
Задача коммивояжера (TSP). 2-приближенные алгоритм для метрической задачи. 1-5 приближенный алгоритм Кристофидеса. Локальные поиск – 2-OPT шаги, эвристика Lin-Kernighan.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
===Задание 1 (задача о рюкзаке)===&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 28 апреля. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать задачу о рюкзаке. Архив с заданием доступен [https://yadi.sk/d/K7W0GqAjo8RGmQ здесь]. Обратите внимание, что ваше решение должно состоять из успешная посылка в Я.Контесте и написанный отчет, которые вы должны прислать по почту. При этом успешность посылки не означает, что ваше решение близко к оптимуму и наберем хоть какие-то баллы за задачу.&lt;br /&gt;
&lt;br /&gt;
Для задачи о рюкзаке имеется [http://akhmedov.me:50022/knapsack/ грейдер] - в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat.&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач доступен по [https://contest.yandex.ru/contest/12610 ссылке].&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  %%discret.opt.hse@gmail.com%%. В заголовке письма указывайте &amp;quot;ФИО Практика1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Экзамен==&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/GP7lXeyKyKfF3Q Предварительная программа экзамена]&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
  * &amp;quot;An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic&amp;quot; [Keld Helsgaun] - описание эвристики Лина-Кернигана для задачи комивояжёра.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33589</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33589"/>
		<updated>2019-05-18T20:34:17Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
===Лекция 4===&lt;br /&gt;
Задача о кратчайших путях, построение решения с помощью техники Primal-Dual.&lt;br /&gt;
&lt;br /&gt;
===Лекция 5===&lt;br /&gt;
Задача о взвешенном паросочетании в двудольном графе, построение решения с помощью техники Primal-Dual. Существование совершенного паросочетания в регулярном двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Лекция 6===&lt;br /&gt;
Метод локального поиска. Его применения к задаче о расстановке ферзей и к задаче о раскраске графа. Метапоиски – метод отжига.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
===Семинар 4===&lt;br /&gt;
Задача Set-Cover, построение линейной и двойственной программ. Округление решения линейной программы, дающее f-приближение. Primal-Dual алгоритм для эффективного поиска f-приближения в данной задачи.&lt;br /&gt;
&lt;br /&gt;
===Семинар 5===&lt;br /&gt;
Контрольная работа.&lt;br /&gt;
&lt;br /&gt;
===Семинар 6===&lt;br /&gt;
Задача коммивояжера (TSP). 2-приближенные алгоритм для метрической задачи. 1-5 приближенный алгоритм Кристофидеса. Локальные поиск – 2-OPT шаги, эвристика Lin-Kernighan.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
===Задание 1 (задача о рюкзаке)===&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 28 апреля. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать задачу о рюкзаке. Архив с заданием доступен [https://yadi.sk/d/K7W0GqAjo8RGmQ здесь]. Обратите внимание, что ваше решение должно состоять из успешная посылка в Я.Контесте и написанный отчет, которые вы должны прислать по почту. При этом успешность посылки не означает, что ваше решение близко к оптимуму и наберем хоть какие-то баллы за задачу.&lt;br /&gt;
&lt;br /&gt;
Для задачи о рюкзаке имеется [http://akhmedov.me:50022/knapsack/ грейдер] - в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat.&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач доступен по [https://contest.yandex.ru/contest/12610 ссылке].&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  %%discret.opt.hse@gmail.com%%. В заголовке письма указывайте &amp;quot;ФИО Практика1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
  * &amp;quot;An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic&amp;quot; [Keld Helsgaun] - описание эвристики Лина-Кернигана для задачи комивояжёра.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33379</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33379"/>
		<updated>2019-04-23T15:01:39Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
===Лекция 4===&lt;br /&gt;
Задача о кратчайших путях, построение решения с помощью техники Primal-Dual.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
===Семинар 4===&lt;br /&gt;
Задача Set-Cover, построение линейной и двойственной программ. Округление решения линейной программы, дающее f-приближение. Primal-Dual алгоритм для эффективного поиска f-приближения в данной задачи.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
===Задание 1 (задача о рюкзаке)===&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 28 апреля. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать задачу о рюкзаке. Архив с заданием доступен [https://yadi.sk/d/K7W0GqAjo8RGmQ здесь]. Обратите внимание, что ваше решение должно состоять из успешная посылка в Я.Контесте и написанный отчет, которые вы должны прислать по почту. При этом успешность посылки не означает, что ваше решение близко к оптимуму и наберем хоть какие-то баллы за задачу.&lt;br /&gt;
&lt;br /&gt;
Для задачи о рюкзаке имеется [http://akhmedov.me:50022/knapsack/ грейдер] - в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat.&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач доступен по [https://contest.yandex.ru/contest/12610 ссылке].&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  %%discret.opt.hse@gmail.com%%. В заголовке письма указывайте &amp;quot;ФИО Практика1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33304</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33304"/>
		<updated>2019-04-17T11:52:21Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
===Задание 1 (задача о рюкзаке)===&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 23.59 28 апреля. Не опаздывайте, после дедлайна решения не принимаются.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В задании предлагается решать задачу о рюкзаке. Архив с заданием доступен [https://yadi.sk/d/K7W0GqAjo8RGmQ здесь]. Обратите внимание, что ваше решение должно состоять из успешная посылка в Я.Контесте и написанный отчет, которые вы должны прислать по почту. При этом успешность посылки не означает, что ваше решение близко к оптимуму и наберем хоть какие-то баллы за задачу.&lt;br /&gt;
&lt;br /&gt;
Для задачи о рюкзаке имеется [http://akhmedov.me:50022/knapsack/ грейдер] - в него можно сдавать решения публичных тестов и сравниваться с другими участниками. Имя необходимо указывать в формате &amp;quot;фамилия транслитом маленькими буквами + подчеркивание + имя транслитом маленькими буквами&amp;quot;, например: kolesnichenko_ignat.&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач доступен по [https://contest.yandex.ru/contest/12610 ссылке].&lt;br /&gt;
&lt;br /&gt;
Задание и вопросы по нему следует отправлять на почту  %%discret.opt.hse@gmail.com%%. В заголовке письма указывайте &amp;quot;ФИО Практика1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33303</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33303"/>
		<updated>2019-04-17T11:34:55Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
===Лекция 3===&lt;br /&gt;
Алгоритм 2-приближения для задачи о рюкзаке. Динамика по стоимостям и по весам для задачи о рюкзаке. Динамика по весам с использованием O(W) памяти. Построение схем приближения для задачи о рюкзаке: PTAS c временем O(n^(1 + 1/eps)) (без доказательства), FPTAS с временем O(n^2/eps), алгоритм Ibara-Kim с временем O(n/eps^2).&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
===Семинар 3===&lt;br /&gt;
Построение прямой и двойственной задачи для задачи о потоки в графе. Построение линейное программы для задачи о поиске максимальной клики в графе и для задачи Car Sequencing.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33234</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33234"/>
		<updated>2019-04-10T21:31:36Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
===Лекция 2===&lt;br /&gt;
Явное построение двойственной задаче для задачи о паросочетаниях. Теорема о сильной двойственности, условия дополняющей нежесткости. Метод ветвей и границ (Branch and Bound) для решения комбинаторных задач. Применение B&amp;amp;B для решения ILP. Задача о рюкзаке, решение LP в задаче о рюкзаке.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
===Семинар 2===&lt;br /&gt;
Теорема о дополняющем пути. Алгоритм Куна поиска паросочетания в двудольном графе. Условия дополняющей нежесткости для пары задач Maximum Matching, Vertex Cover. Поиск вершинного покрытия из максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33193</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33193"/>
		<updated>2019-04-06T16:43:10Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
===Семинар 1===&lt;br /&gt;
Приведение линейных программ к разным формам. Правила построение двойственных программ для программы в общей форме. Утверждение о целочисленности вершины в задаче о совершенном паросочетании в двудольном графе. Тотальная унимодулярность, и теорема о целочисленности полиэдра. &lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33123</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33123"/>
		<updated>2019-04-02T20:26:12Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622, семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
===Лекция 1===&lt;br /&gt;
Примеры комбинаторных задача:  Maximum Matching, Set Cover, TSP. Представление задачи Maximum Matching в виде ILP, релаксация ILP до LP. Напоминание про LP – понятие полиэдров и политопов, формы задания, понятие вершины. Теорема о том, что оптимум достигается в вершине. Базисные допустимые решения и их связь с вершинами.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33039</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33039"/>
		<updated>2019-03-30T16:05:37Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622., семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок и округления оценки за работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33038</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33038"/>
		<updated>2019-03-30T16:05:06Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622., семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оценка от 0 до 10 (с шагом в 0.5 балла). Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок, округления оценки на работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33037</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33037"/>
		<updated>2019-03-30T16:04:16Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции проходят по вторникам, 13:40 - 15:00, ауд. 622., семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оцника от 0 до 10 (с шагом в 0.5 балла).&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок, округления оценки на работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33036</id>
		<title>Дискретная оптимизация 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2019&amp;diff=33036"/>
		<updated>2019-03-30T16:03:53Z</updated>

		<summary type="html">&lt;p&gt;Ignat: Новая страница: «== О курсе ==  Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле.   &amp;#039;&amp;#039;&amp;#039;Л…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622., семинары проходят сразу после лекции во вторник.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFSFHLfHTjeBd2Ueqg&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница&lt;br /&gt;
|-&lt;br /&gt;
| - || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat &lt;br /&gt;
|-&lt;br /&gt;
| МОП 161 || Савченко Руслан || telegram: @savrus || ? &lt;br /&gt;
|-&lt;br /&gt;
| МОП 162 + РС 166-2  ||  Лахтанов Иван || telegram: @ivan_lakhtanov  || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 163 + АПР 167 + РС 166-1 || Смирнов Иван || telegram: @ifsmirnov || ? &lt;br /&gt;
|-&lt;br /&gt;
| АДИС 164 || Саакян Вильям || telegram: @wilwell  || ?&lt;br /&gt;
|- &lt;br /&gt;
| РС 165 || Ахмедов Максим || telegram: @max_akhmedov || ? &lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено следующий набор контрольных мероприятий:&lt;br /&gt;
1) Контрольная работа с теоретическими задачами и теоретически мини-ДЗ. Точные критерии оценивания будут определены в ходе курса. Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
2) Контест с решением практических задач, проводимые во время лекции и семинара (то есть на 3 часа). Вклад данной части в общую оценку – 2 из 10.&lt;br /&gt;
3) Практические домашние задания (в виде Я.Контестов с длительностью несколько недель). Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
4) Устный теоретический экзамен. Вклад данной части в общую оценку – 3 из 10.&lt;br /&gt;
&lt;br /&gt;
За каждую из частей будет выставлена оцника от 0 до 10 (с шагом в 0.5 балла).&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется по формуле:&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.2 * O&amp;lt;sub&amp;gt;1&amp;lt;/sub&amp;gt; + 0.2 * О&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; + 0.3 * О&amp;lt;sub&amp;gt;3&amp;lt;/sub&amp;gt; + 0.3 * O&amp;lt;sub&amp;gt;экз&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Так как формальные правила требует округлений отдельных оценок, округления оценки на работу в семестре – фактические оценки в ведомости будут выставлены таким образом, чтобы соответствовать той оценке, которые получается по указанной выше формуле. &lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=33035</id>
		<title>Дискретная оптимизация</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=33035"/>
		<updated>2019-03-30T15:45:59Z</updated>

		<summary type="html">&lt;p&gt;Ignat: Ignat переименовал страницу Дискретная оптимизация в Дискретная оптимизация 2018&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#перенаправление [[Дискретная оптимизация 2018]]&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=33034</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=33034"/>
		<updated>2019-03-30T15:45:59Z</updated>

		<summary type="html">&lt;p&gt;Ignat: Ignat переименовал страницу Дискретная оптимизация в Дискретная оптимизация 2018&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 2&#039;&#039;&#039; (10 апреля). Задача о рюкзаке: PTAS с временем работы (n^(1+1/eps)), FPTAS с временем работы O(n^3 * 1 /eps). Напоминание об переменных нежесткости и условиях дополняющей нежесткости.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 3&#039;&#039;&#039; (17 апреля). Методика Primal-Dual построения решений для комбинаторных задач. Применение Primal-Dual к задаче о поиске кратчайших путей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 4&#039;&#039;&#039; (24 апреля). Задача о взвешенном паросочетании в двудольном графе, применение Primal-Dual для её решения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 5&#039;&#039;&#039; (15 мая). Поиск паросочетаний в недвудольных графах. Алгоритм Эдмонса. Минимаксная формула для размера паросочетания в произвольном графе (формула Татта-Бержа).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 6&#039;&#039;&#039; (22 мая). Симплекс-метод, геометрическая интерпретация, базисные перменные и эффективная реализация (табличный симплекс-метод).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 7&#039;&#039;&#039; (29 мая). Метод эллипсоидов, решение выпуклых задач оптимизации с помощью метода отделяющей плоскости. Задача о разрезе максимального веса, 0.5-приближение с помощью дерандомизации. Построение 0.878-приближения с помощью сведения к задаче полуопределенного программирования.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 8&#039;&#039;&#039; (5 июня). Метод локального поиска. Применение его к задаче о ферзях. Применение к задаче о раскраске графа. Алгоритм sqrt(n) раскраски 3-раскрашиваемого графа.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-6 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 2&#039;&#039;&#039; (9-13 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 3&#039;&#039;&#039; (16-20 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 4&#039;&#039;&#039; (23-24 апреля). Задача Set-Cover. Решение с помощью округления ЛП. Примерение Primal-Dual для построение f-приближения. Вероятностный способ округления для построения log(n)-приближения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 5&#039;&#039;&#039; (14-18 мая). Разложение Эдмонса-Галлаи, его полученеи из алгоритмы Эдмонса и его свойства. Задача о существовании совершенного паросочения в 3-регулярном графе без мостов. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 6&#039;&#039;&#039; (21-25 мая). Задача о поиске упаковки вершинно-непересекающихся T-путей, минимаксная формула Галлаи. Связь с задачей о паросочетаниях.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 7&#039;&#039;&#039; (28 мая - 1 июня). Программирование в ограничениях (CP), базовая концепция. Примеры решения задач с помощью CP: задача о ферзях, задача о магической последовательности, задача о сборке автомобилей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 8&#039;&#039;&#039; (4-8 июня). Задача коммивояжера. Алгоритмы для 2 и 1.5 приближений. Алгоритмы локального поиска в данной задаче: 2-OPT, 3-OPT, эвристика Ли-Кернигана.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 1 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Критерий оценки задачи о рюкзаке ====&lt;br /&gt;
Оценивание производилось на закрытых тестах. Оценка ставится в зависимости от отличия вашего решения и оптимального решения. Также в случае отсутствия отчета или плохо написанного отчета семинарист вправе снять еще до 1 балла.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка 0 – 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;200 – 5 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;1500 – 4 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;5000 – 3 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;15000 – 2 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;21000 – 1 балл.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Последняя граница выбрана исходя из того, что стандартное жадное решение имеет ошибку примерно 20800)&lt;br /&gt;
&lt;br /&gt;
Приватные тесты: https://yadi.sk/d/1n9vMPTi3XLFiM&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 2 (теория)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 2 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить 5 теоретических задач, условия: https://yadi.sk/i/o4gtEhpA3VywLM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве решения в каждой задачи должно быть подробное доказательство требуемого факта/описание работы алгоритма/структуры данных с оценкой времени его работы. При выполнении этого домашнего задания можно использовать все алгоритмы и теоремы, которые были разобраны и доказаны на лекциях и семинарах. Однако, следует подробно объяснить к чему и как они применяются.&lt;br /&gt;
&lt;br /&gt;
Решения настоятельно рекомендуется записывать в latex-е.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение + баллы за семинар 1 + баллы за семинар 2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 2&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 3 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 25 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/7fEE0CuN3Xk5bJ&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8422&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение)&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 3&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
Пересдачи будут проходить 4-го и 7-го сентября.&lt;br /&gt;
4-го сентября пересдача будет в аудитории Кэмбридж в ШАДе в 10.00 (с 09.55 до 10.05 мы будем ждать вас у проходной).&lt;br /&gt;
7-го сентября пересдача будет в аудитории 435 на Кончовском в 10.00.&lt;br /&gt;
&lt;br /&gt;
Правила проведения пересдачи и программа экзамена поступны тут: https://yadi.sk/d/P2NVdCGy3Zrkh9&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Практика&#039;&#039;&#039;. Условие задачи и открытые тесты доступно по следующей ссылке: https://yadi.sk/d/E_h4glrb3acMWJ&lt;br /&gt;
&lt;br /&gt;
Контест доступен по следующей ссылке: https://contest.yandex.ru/contest/8801/problems/&lt;br /&gt;
&lt;br /&gt;
Решения принимаются до 23:59:59  2 сентября вне зависимости от даты пересдачи, на которую приходит студент. Несданное к дедлайну решение практическое части оценивается в 0 баллов.&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
Состоится 27 сентября в 10.00 в аудитории  ауд.322. Формат аналогичен теоретической части на пересдаче.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28813</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28813"/>
		<updated>2018-09-07T13:01:11Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 2&#039;&#039;&#039; (10 апреля). Задача о рюкзаке: PTAS с временем работы (n^(1+1/eps)), FPTAS с временем работы O(n^3 * 1 /eps). Напоминание об переменных нежесткости и условиях дополняющей нежесткости.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 3&#039;&#039;&#039; (17 апреля). Методика Primal-Dual построения решений для комбинаторных задач. Применение Primal-Dual к задаче о поиске кратчайших путей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 4&#039;&#039;&#039; (24 апреля). Задача о взвешенном паросочетании в двудольном графе, применение Primal-Dual для её решения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 5&#039;&#039;&#039; (15 мая). Поиск паросочетаний в недвудольных графах. Алгоритм Эдмонса. Минимаксная формула для размера паросочетания в произвольном графе (формула Татта-Бержа).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 6&#039;&#039;&#039; (22 мая). Симплекс-метод, геометрическая интерпретация, базисные перменные и эффективная реализация (табличный симплекс-метод).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 7&#039;&#039;&#039; (29 мая). Метод эллипсоидов, решение выпуклых задач оптимизации с помощью метода отделяющей плоскости. Задача о разрезе максимального веса, 0.5-приближение с помощью дерандомизации. Построение 0.878-приближения с помощью сведения к задаче полуопределенного программирования.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 8&#039;&#039;&#039; (5 июня). Метод локального поиска. Применение его к задаче о ферзях. Применение к задаче о раскраске графа. Алгоритм sqrt(n) раскраски 3-раскрашиваемого графа.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-6 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 2&#039;&#039;&#039; (9-13 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 3&#039;&#039;&#039; (16-20 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 4&#039;&#039;&#039; (23-24 апреля). Задача Set-Cover. Решение с помощью округления ЛП. Примерение Primal-Dual для построение f-приближения. Вероятностный способ округления для построения log(n)-приближения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 5&#039;&#039;&#039; (14-18 мая). Разложение Эдмонса-Галлаи, его полученеи из алгоритмы Эдмонса и его свойства. Задача о существовании совершенного паросочения в 3-регулярном графе без мостов. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 6&#039;&#039;&#039; (21-25 мая). Задача о поиске упаковки вершинно-непересекающихся T-путей, минимаксная формула Галлаи. Связь с задачей о паросочетаниях.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 7&#039;&#039;&#039; (28 мая - 1 июня). Программирование в ограничениях (CP), базовая концепция. Примеры решения задач с помощью CP: задача о ферзях, задача о магической последовательности, задача о сборке автомобилей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 8&#039;&#039;&#039; (4-8 июня). Задача коммивояжера. Алгоритмы для 2 и 1.5 приближений. Алгоритмы локального поиска в данной задаче: 2-OPT, 3-OPT, эвристика Ли-Кернигана.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 1 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Критерий оценки задачи о рюкзаке ====&lt;br /&gt;
Оценивание производилось на закрытых тестах. Оценка ставится в зависимости от отличия вашего решения и оптимального решения. Также в случае отсутствия отчета или плохо написанного отчета семинарист вправе снять еще до 1 балла.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка 0 – 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;200 – 5 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;1500 – 4 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;5000 – 3 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;15000 – 2 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;21000 – 1 балл.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Последняя граница выбрана исходя из того, что стандартное жадное решение имеет ошибку примерно 20800)&lt;br /&gt;
&lt;br /&gt;
Приватные тесты: https://yadi.sk/d/1n9vMPTi3XLFiM&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 2 (теория)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 2 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить 5 теоретических задач, условия: https://yadi.sk/i/o4gtEhpA3VywLM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве решения в каждой задачи должно быть подробное доказательство требуемого факта/описание работы алгоритма/структуры данных с оценкой времени его работы. При выполнении этого домашнего задания можно использовать все алгоритмы и теоремы, которые были разобраны и доказаны на лекциях и семинарах. Однако, следует подробно объяснить к чему и как они применяются.&lt;br /&gt;
&lt;br /&gt;
Решения настоятельно рекомендуется записывать в latex-е.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение + баллы за семинар 1 + баллы за семинар 2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 2&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 3 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 25 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/7fEE0CuN3Xk5bJ&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8422&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение)&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 3&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
Пересдачи будут проходить 4-го и 7-го сентября.&lt;br /&gt;
4-го сентября пересдача будет в аудитории Кэмбридж в ШАДе в 10.00 (с 09.55 до 10.05 мы будем ждать вас у проходной).&lt;br /&gt;
7-го сентября пересдача будет в аудитории 435 на Кончовском в 10.00.&lt;br /&gt;
&lt;br /&gt;
Правила проведения пересдачи и программа экзамена поступны тут: https://yadi.sk/d/P2NVdCGy3Zrkh9&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Практика&#039;&#039;&#039;. Условие задачи и открытые тесты доступно по следующей ссылке: https://yadi.sk/d/E_h4glrb3acMWJ&lt;br /&gt;
&lt;br /&gt;
Контест доступен по следующей ссылке: https://contest.yandex.ru/contest/8801/problems/&lt;br /&gt;
&lt;br /&gt;
Решения принимаются до 23:59:59  2 сентября вне зависимости от даты пересдачи, на которую приходит студент. Несданное к дедлайну решение практическое части оценивается в 0 баллов.&lt;br /&gt;
&lt;br /&gt;
== Комиссия ==&lt;br /&gt;
&lt;br /&gt;
Состоится 27 сентября в 10.00 в аудитории  ауд.322. Формат аналогичен теоретической части на пересдаче.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28578</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28578"/>
		<updated>2018-09-03T12:01:30Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 2&#039;&#039;&#039; (10 апреля). Задача о рюкзаке: PTAS с временем работы (n^(1+1/eps)), FPTAS с временем работы O(n^3 * 1 /eps). Напоминание об переменных нежесткости и условиях дополняющей нежесткости.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 3&#039;&#039;&#039; (17 апреля). Методика Primal-Dual построения решений для комбинаторных задач. Применение Primal-Dual к задаче о поиске кратчайших путей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 4&#039;&#039;&#039; (24 апреля). Задача о взвешенном паросочетании в двудольном графе, применение Primal-Dual для её решения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 5&#039;&#039;&#039; (15 мая). Поиск паросочетаний в недвудольных графах. Алгоритм Эдмонса. Минимаксная формула для размера паросочетания в произвольном графе (формула Татта-Бержа).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 6&#039;&#039;&#039; (22 мая). Симплекс-метод, геометрическая интерпретация, базисные перменные и эффективная реализация (табличный симплекс-метод).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 7&#039;&#039;&#039; (29 мая). Метод эллипсоидов, решение выпуклых задач оптимизации с помощью метода отделяющей плоскости. Задача о разрезе максимального веса, 0.5-приближение с помощью дерандомизации. Построение 0.878-приближения с помощью сведения к задаче полуопределенного программирования.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 8&#039;&#039;&#039; (5 июня). Метод локального поиска. Применение его к задаче о ферзях. Применение к задаче о раскраске графа. Алгоритм sqrt(n) раскраски 3-раскрашиваемого графа.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-6 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 2&#039;&#039;&#039; (9-13 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 3&#039;&#039;&#039; (16-20 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 4&#039;&#039;&#039; (23-24 апреля). Задача Set-Cover. Решение с помощью округления ЛП. Примерение Primal-Dual для построение f-приближения. Вероятностный способ округления для построения log(n)-приближения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 5&#039;&#039;&#039; (14-18 мая). Разложение Эдмонса-Галлаи, его полученеи из алгоритмы Эдмонса и его свойства. Задача о существовании совершенного паросочения в 3-регулярном графе без мостов. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 6&#039;&#039;&#039; (21-25 мая). Задача о поиске упаковки вершинно-непересекающихся T-путей, минимаксная формула Галлаи. Связь с задачей о паросочетаниях.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 7&#039;&#039;&#039; (28 мая - 1 июня). Программирование в ограничениях (CP), базовая концепция. Примеры решения задач с помощью CP: задача о ферзях, задача о магической последовательности, задача о сборке автомобилей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 8&#039;&#039;&#039; (4-8 июня). Задача коммивояжера. Алгоритмы для 2 и 1.5 приближений. Алгоритмы локального поиска в данной задаче: 2-OPT, 3-OPT, эвристика Ли-Кернигана.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 1 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Критерий оценки задачи о рюкзаке ====&lt;br /&gt;
Оценивание производилось на закрытых тестах. Оценка ставится в зависимости от отличия вашего решения и оптимального решения. Также в случае отсутствия отчета или плохо написанного отчета семинарист вправе снять еще до 1 балла.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка 0 – 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;200 – 5 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;1500 – 4 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;5000 – 3 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;15000 – 2 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;21000 – 1 балл.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Последняя граница выбрана исходя из того, что стандартное жадное решение имеет ошибку примерно 20800)&lt;br /&gt;
&lt;br /&gt;
Приватные тесты: https://yadi.sk/d/1n9vMPTi3XLFiM&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 2 (теория)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 2 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить 5 теоретических задач, условия: https://yadi.sk/i/o4gtEhpA3VywLM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве решения в каждой задачи должно быть подробное доказательство требуемого факта/описание работы алгоритма/структуры данных с оценкой времени его работы. При выполнении этого домашнего задания можно использовать все алгоритмы и теоремы, которые были разобраны и доказаны на лекциях и семинарах. Однако, следует подробно объяснить к чему и как они применяются.&lt;br /&gt;
&lt;br /&gt;
Решения настоятельно рекомендуется записывать в latex-е.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение + баллы за семинар 1 + баллы за семинар 2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 2&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 3 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 25 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/7fEE0CuN3Xk5bJ&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8422&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение)&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 3&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
Пересдачи будут проходить 4-го и 7-го сентября.&lt;br /&gt;
4-го сентября пересдача будет в аудитории Кэмбридж в ШАДе в 10.00 (с 09.55 до 10.05 мы будем ждать вас у проходной).&lt;br /&gt;
7-го сентября пересдача будет в аудитории 435 на Кончовском в 10.00.&lt;br /&gt;
&lt;br /&gt;
Правила проведения пересдачи и программа экзамена поступны тут: https://yadi.sk/d/P2NVdCGy3Zrkh9&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Практика&#039;&#039;&#039;. Условие задачи и открытые тесты доступно по следующей ссылке: https://yadi.sk/d/E_h4glrb3acMWJ&lt;br /&gt;
&lt;br /&gt;
Контест доступен по следующей ссылке: https://contest.yandex.ru/contest/8801/problems/&lt;br /&gt;
&lt;br /&gt;
Решения принимаются до 23:59:59  2 сентября вне зависимости от даты пересдачи, на которую приходит студент. Несданное к дедлайну решение практическое части оценивается в 0 баллов.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28566</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28566"/>
		<updated>2018-09-03T07:25:24Z</updated>

		<summary type="html">&lt;p&gt;Ignat: /* Пересдача */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 2&#039;&#039;&#039; (10 апреля). Задача о рюкзаке: PTAS с временем работы (n^(1+1/eps)), FPTAS с временем работы O(n^3 * 1 /eps). Напоминание об переменных нежесткости и условиях дополняющей нежесткости.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 3&#039;&#039;&#039; (17 апреля). Методика Primal-Dual построения решений для комбинаторных задач. Применение Primal-Dual к задаче о поиске кратчайших путей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 4&#039;&#039;&#039; (24 апреля). Задача о взвешенном паросочетании в двудольном графе, применение Primal-Dual для её решения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 5&#039;&#039;&#039; (15 мая). Поиск паросочетаний в недвудольных графах. Алгоритм Эдмонса. Минимаксная формула для размера паросочетания в произвольном графе (формула Татта-Бержа).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 6&#039;&#039;&#039; (22 мая). Симплекс-метод, геометрическая интерпретация, базисные перменные и эффективная реализация (табличный симплекс-метод).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 7&#039;&#039;&#039; (29 мая). Метод эллипсоидов, решение выпуклых задач оптимизации с помощью метода отделяющей плоскости. Задача о разрезе максимального веса, 0.5-приближение с помощью дерандомизации. Построение 0.878-приближения с помощью сведения к задаче полуопределенного программирования.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 8&#039;&#039;&#039; (5 июня). Метод локального поиска. Применение его к задаче о ферзях. Применение к задаче о раскраске графа. Алгоритм sqrt(n) раскраски 3-раскрашиваемого графа.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-6 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 2&#039;&#039;&#039; (9-13 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 3&#039;&#039;&#039; (16-20 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 4&#039;&#039;&#039; (23-24 апреля). Задача Set-Cover. Решение с помощью округления ЛП. Примерение Primal-Dual для построение f-приближения. Вероятностный способ округления для построения log(n)-приближения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 5&#039;&#039;&#039; (14-18 мая). Разложение Эдмонса-Галлаи, его полученеи из алгоритмы Эдмонса и его свойства. Задача о существовании совершенного паросочения в 3-регулярном графе без мостов. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 6&#039;&#039;&#039; (21-25 мая). Задача о поиске упаковки вершинно-непересекающихся T-путей, минимаксная формула Галлаи. Связь с задачей о паросочетаниях.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 7&#039;&#039;&#039; (28 мая - 1 июня). Программирование в ограничениях (CP), базовая концепция. Примеры решения задач с помощью CP: задача о ферзях, задача о магической последовательности, задача о сборке автомобилей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 8&#039;&#039;&#039; (4-8 июня). Задача коммивояжера. Алгоритмы для 2 и 1.5 приближений. Алгоритмы локального поиска в данной задаче: 2-OPT, 3-OPT, эвристика Ли-Кернигана.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 1 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Критерий оценки задачи о рюкзаке ====&lt;br /&gt;
Оценивание производилось на закрытых тестах. Оценка ставится в зависимости от отличия вашего решения и оптимального решения. Также в случае отсутствия отчета или плохо написанного отчета семинарист вправе снять еще до 1 балла.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка 0 – 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;200 – 5 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;1500 – 4 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;5000 – 3 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;15000 – 2 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;21000 – 1 балл.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Последняя граница выбрана исходя из того, что стандартное жадное решение имеет ошибку примерно 20800)&lt;br /&gt;
&lt;br /&gt;
Приватные тесты: https://yadi.sk/d/1n9vMPTi3XLFiM&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 2 (теория)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 2 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить 5 теоретических задач, условия: https://yadi.sk/i/o4gtEhpA3VywLM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве решения в каждой задачи должно быть подробное доказательство требуемого факта/описание работы алгоритма/структуры данных с оценкой времени его работы. При выполнении этого домашнего задания можно использовать все алгоритмы и теоремы, которые были разобраны и доказаны на лекциях и семинарах. Однако, следует подробно объяснить к чему и как они применяются.&lt;br /&gt;
&lt;br /&gt;
Решения настоятельно рекомендуется записывать в latex-е.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение + баллы за семинар 1 + баллы за семинар 2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 2&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 3 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 25 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/7fEE0CuN3Xk5bJ&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8422&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение)&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 3&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
Пересдачи будут проходить 4-го и 7-го сентября в аудиториях ШАДа в 10.00 (аудитория Кэмбридж, с 09.55 до 10.05 мы будем ждать вас у проходной).&lt;br /&gt;
&lt;br /&gt;
Правила проведения пересдачи и программа экзамена поступны тут: https://yadi.sk/d/P2NVdCGy3Zrkh9&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Практика&#039;&#039;&#039;. Условие задачи и открытые тесты доступно по следующей ссылке: https://yadi.sk/d/E_h4glrb3acMWJ&lt;br /&gt;
&lt;br /&gt;
Контест доступен по следующей ссылке: https://contest.yandex.ru/contest/8801/problems/&lt;br /&gt;
&lt;br /&gt;
Решения принимаются до 23:59:59  2 сентября вне зависимости от даты пересдачи, на которую приходит студент. Несданное к дедлайну решение практическое части оценивается в 0 баллов.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28271</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28271"/>
		<updated>2018-08-03T08:56:05Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 2&#039;&#039;&#039; (10 апреля). Задача о рюкзаке: PTAS с временем работы (n^(1+1/eps)), FPTAS с временем работы O(n^3 * 1 /eps). Напоминание об переменных нежесткости и условиях дополняющей нежесткости.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 3&#039;&#039;&#039; (17 апреля). Методика Primal-Dual построения решений для комбинаторных задач. Применение Primal-Dual к задаче о поиске кратчайших путей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 4&#039;&#039;&#039; (24 апреля). Задача о взвешенном паросочетании в двудольном графе, применение Primal-Dual для её решения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 5&#039;&#039;&#039; (15 мая). Поиск паросочетаний в недвудольных графах. Алгоритм Эдмонса. Минимаксная формула для размера паросочетания в произвольном графе (формула Татта-Бержа).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 6&#039;&#039;&#039; (22 мая). Симплекс-метод, геометрическая интерпретация, базисные перменные и эффективная реализация (табличный симплекс-метод).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 7&#039;&#039;&#039; (29 мая). Метод эллипсоидов, решение выпуклых задач оптимизации с помощью метода отделяющей плоскости. Задача о разрезе максимального веса, 0.5-приближение с помощью дерандомизации. Построение 0.878-приближения с помощью сведения к задаче полуопределенного программирования.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 8&#039;&#039;&#039; (5 июня). Метод локального поиска. Применение его к задаче о ферзях. Применение к задаче о раскраске графа. Алгоритм sqrt(n) раскраски 3-раскрашиваемого графа.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-6 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 2&#039;&#039;&#039; (9-13 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 3&#039;&#039;&#039; (16-20 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 4&#039;&#039;&#039; (23-24 апреля). Задача Set-Cover. Решение с помощью округления ЛП. Примерение Primal-Dual для построение f-приближения. Вероятностный способ округления для построения log(n)-приближения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 5&#039;&#039;&#039; (14-18 мая). Разложение Эдмонса-Галлаи, его полученеи из алгоритмы Эдмонса и его свойства. Задача о существовании совершенного паросочения в 3-регулярном графе без мостов. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 6&#039;&#039;&#039; (21-25 мая). Задача о поиске упаковки вершинно-непересекающихся T-путей, минимаксная формула Галлаи. Связь с задачей о паросочетаниях.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 7&#039;&#039;&#039; (28 мая - 1 июня). Программирование в ограничениях (CP), базовая концепция. Примеры решения задач с помощью CP: задача о ферзях, задача о магической последовательности, задача о сборке автомобилей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 8&#039;&#039;&#039; (4-8 июня). Задача коммивояжера. Алгоритмы для 2 и 1.5 приближений. Алгоритмы локального поиска в данной задаче: 2-OPT, 3-OPT, эвристика Ли-Кернигана.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 1 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Критерий оценки задачи о рюкзаке ====&lt;br /&gt;
Оценивание производилось на закрытых тестах. Оценка ставится в зависимости от отличия вашего решения и оптимального решения. Также в случае отсутствия отчета или плохо написанного отчета семинарист вправе снять еще до 1 балла.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка 0 – 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;200 – 5 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;1500 – 4 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;5000 – 3 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;15000 – 2 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;21000 – 1 балл.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Последняя граница выбрана исходя из того, что стандартное жадное решение имеет ошибку примерно 20800)&lt;br /&gt;
&lt;br /&gt;
Приватные тесты: https://yadi.sk/d/1n9vMPTi3XLFiM&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 2 (теория)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 2 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить 5 теоретических задач, условия: https://yadi.sk/i/o4gtEhpA3VywLM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве решения в каждой задачи должно быть подробное доказательство требуемого факта/описание работы алгоритма/структуры данных с оценкой времени его работы. При выполнении этого домашнего задания можно использовать все алгоритмы и теоремы, которые были разобраны и доказаны на лекциях и семинарах. Однако, следует подробно объяснить к чему и как они применяются.&lt;br /&gt;
&lt;br /&gt;
Решения настоятельно рекомендуется записывать в latex-е.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение + баллы за семинар 1 + баллы за семинар 2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 2&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 3 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 25 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/7fEE0CuN3Xk5bJ&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8422&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение)&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 3&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Пересдача ==&lt;br /&gt;
&lt;br /&gt;
Пересдачи будут проходить 4-го и 7-го сентября в аудиториях ШАДа в 10.00. &lt;br /&gt;
&lt;br /&gt;
Правила проведения пересдачи и программа экзамена поступны тут: https://yadi.sk/d/P2NVdCGy3Zrkh9&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28224</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28224"/>
		<updated>2018-06-28T11:35:17Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 2&#039;&#039;&#039; (10 апреля). Задача о рюкзаке: PTAS с временем работы (n^(1+1/eps)), FPTAS с временем работы O(n^3 * 1 /eps). Напоминание об переменных нежесткости и условиях дополняющей нежесткости.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 3&#039;&#039;&#039; (17 апреля). Методика Primal-Dual построения решений для комбинаторных задач. Применение Primal-Dual к задаче о поиске кратчайших путей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 4&#039;&#039;&#039; (24 апреля). Задача о взвешенном паросочетании в двудольном графе, применение Primal-Dual для её решения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 5&#039;&#039;&#039; (15 мая). Поиск паросочетаний в недвудольных графах. Алгоритм Эдмонса. Минимаксная формула для размера паросочетания в произвольном графе (формула Татта-Бержа).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 6&#039;&#039;&#039; (22 мая). Симплекс-метод, геометрическая интерпретация, базисные перменные и эффективная реализация (табличный симплекс-метод).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 7&#039;&#039;&#039; (29 мая). Метод эллипсоидов, решение выпуклых задач оптимизации с помощью метода отделяющей плоскости. Задача о разрезе максимального веса, 0.5-приближение с помощью дерандомизации. Построение 0.878-приближения с помощью сведения к задаче полуопределенного программирования.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 8&#039;&#039;&#039; (5 июня). Метод локального поиска. Применение его к задаче о ферзях. Применение к задаче о раскраске графа. Алгоритм sqrt(n) раскраски 3-раскрашиваемого графа.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-6 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 2&#039;&#039;&#039; (9-13 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 3&#039;&#039;&#039; (16-20 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 4&#039;&#039;&#039; (23-24 апреля). Задача Set-Cover. Решение с помощью округления ЛП. Примерение Primal-Dual для построение f-приближения. Вероятностный способ округления для построения log(n)-приближения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 5&#039;&#039;&#039; (14-18 мая). Разложение Эдмонса-Галлаи, его полученеи из алгоритмы Эдмонса и его свойства. Задача о существовании совершенного паросочения в 3-регулярном графе без мостов. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 6&#039;&#039;&#039; (21-25 мая). Задача о поиске упаковки вершинно-непересекающихся T-путей, минимаксная формула Галлаи. Связь с задачей о паросочетаниях.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 7&#039;&#039;&#039; (28 мая - 1 июня). Программирование в ограничениях (CP), базовая концепция. Примеры решения задач с помощью CP: задача о ферзях, задача о магической последовательности, задача о сборке автомобилей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 8&#039;&#039;&#039; (4-8 июня). Задача коммивояжера. Алгоритмы для 2 и 1.5 приближений. Алгоритмы локального поиска в данной задаче: 2-OPT, 3-OPT, эвристика Ли-Кернигана.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 1 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Критерий оценки задачи о рюкзаке ====&lt;br /&gt;
Оценивание производилось на закрытых тестах. Оценка ставится в зависимости от отличия вашего решения и оптимального решения. Также в случае отсутствия отчета или плохо написанного отчета семинарист вправе снять еще до 1 балла.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка 0 – 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;200 – 5 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;1500 – 4 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;5000 – 3 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;15000 – 2 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;21000 – 1 балл.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Последняя граница выбрана исходя из того, что стандартное жадное решение имеет ошибку примерно 20800)&lt;br /&gt;
&lt;br /&gt;
Приватные тесты: https://yadi.sk/d/1n9vMPTi3XLFiM&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 2 (теория)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 2 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить 5 теоретических задач, условия: https://yadi.sk/i/o4gtEhpA3VywLM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве решения в каждой задачи должно быть подробное доказательство требуемого факта/описание работы алгоритма/структуры данных с оценкой времени его работы. При выполнении этого домашнего задания можно использовать все алгоритмы и теоремы, которые были разобраны и доказаны на лекциях и семинарах. Однако, следует подробно объяснить к чему и как они применяются.&lt;br /&gt;
&lt;br /&gt;
Решения настоятельно рекомендуется записывать в latex-е.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение + баллы за семинар 1 + баллы за семинар 2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 2&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 3 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 25 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/7fEE0CuN3Xk5bJ&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8422&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение)&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 3&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28223</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28223"/>
		<updated>2018-06-28T11:29:10Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале (при этом балл может быть произвольной дробности), правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = round(0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;), где round – это функция арифметического округления.&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 2&#039;&#039;&#039; (10 апреля). Задача о рюкзаке: PTAS с временем работы (n^(1+1/eps)), FPTAS с временем работы O(n^3 * 1 /eps). Напоминание об переменных нежесткости и условиях дополняющей нежесткости.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 3&#039;&#039;&#039; (17 апреля). Методика Primal-Dual построения решений для комбинаторных задач. Применение Primal-Dual к задаче о поиске кратчайших путей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 4&#039;&#039;&#039; (24 апреля). Задача о взвешенном паросочетании в двудольном графе, применение Primal-Dual для её решения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 5&#039;&#039;&#039; (15 мая). Поиск паросочетаний в недвудольных графах. Алгоритм Эдмонса. Минимаксная формула для размера паросочетания в произвольном графе (формула Татта-Бержа).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 6&#039;&#039;&#039; (22 мая). Симплекс-метод, геометрическая интерпретация, базисные перменные и эффективная реализация (табличный симплекс-метод).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 7&#039;&#039;&#039; (29 мая). Метод эллипсоидов, решение выпуклых задач оптимизации с помощью метода отделяющей плоскости. Задача о разрезе максимального веса, 0.5-приближение с помощью дерандомизации. Построение 0.878-приближения с помощью сведения к задаче полуопределенного программирования.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 8&#039;&#039;&#039; (5 июня). Метод локального поиска. Применение его к задаче о ферзях. Применение к задаче о раскраске графа. Алгоритм sqrt(n) раскраски 3-раскрашиваемого графа.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-6 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 2&#039;&#039;&#039; (9-13 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 3&#039;&#039;&#039; (16-20 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 4&#039;&#039;&#039; (23-24 апреля). Задача Set-Cover. Решение с помощью округления ЛП. Примерение Primal-Dual для построение f-приближения. Вероятностный способ округления для построения log(n)-приближения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 5&#039;&#039;&#039; (14-18 мая). Разложение Эдмонса-Галлаи, его полученеи из алгоритмы Эдмонса и его свойства. Задача о существовании совершенного паросочения в 3-регулярном графе без мостов. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 6&#039;&#039;&#039; (21-25 мая). Задача о поиске упаковки вершинно-непересекающихся T-путей, минимаксная формула Галлаи. Связь с задачей о паросочетаниях.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 7&#039;&#039;&#039; (28 мая - 1 июня). Программирование в ограничениях (CP), базовая концепция. Примеры решения задач с помощью CP: задача о ферзях, задача о магической последовательности, задача о сборке автомобилей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 8&#039;&#039;&#039; (4-8 июня). Задача коммивояжера. Алгоритмы для 2 и 1.5 приближений. Алгоритмы локального поиска в данной задаче: 2-OPT, 3-OPT, эвристика Ли-Кернигана.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 1 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Критерий оценки задачи о рюкзаке ====&lt;br /&gt;
Оценивание производилось на закрытых тестах. Оценка ставится в зависимости от отличия вашего решения и оптимального решения. Также в случае отсутствия отчета или плохо написанного отчета семинарист вправе снять еще до 1 балла.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка 0 – 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;200 – 5 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;1500 – 4 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;5000 – 3 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;15000 – 2 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;21000 – 1 балл.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Последняя граница выбрана исходя из того, что стандартное жадное решение имеет ошибку примерно 20800)&lt;br /&gt;
&lt;br /&gt;
Приватные тесты: https://yadi.sk/d/1n9vMPTi3XLFiM&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 2 (теория)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 2 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить 5 теоретических задач, условия: https://yadi.sk/i/o4gtEhpA3VywLM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве решения в каждой задачи должно быть подробное доказательство требуемого факта/описание работы алгоритма/структуры данных с оценкой времени его работы. При выполнении этого домашнего задания можно использовать все алгоритмы и теоремы, которые были разобраны и доказаны на лекциях и семинарах. Однако, следует подробно объяснить к чему и как они применяются.&lt;br /&gt;
&lt;br /&gt;
Решения настоятельно рекомендуется записывать в latex-е.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение + баллы за семинар 1 + баллы за семинар 2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 2&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 3 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 25 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/7fEE0CuN3Xk5bJ&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8422&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение)&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 3&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28148</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28148"/>
		<updated>2018-06-11T08:23:34Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 2&#039;&#039;&#039; (10 апреля). Задача о рюкзаке: PTAS с временем работы (n^(1+1/eps)), FPTAS с временем работы O(n^3 * 1 /eps). Напоминание об переменных нежесткости и условиях дополняющей нежесткости.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 3&#039;&#039;&#039; (17 апреля). Методика Primal-Dual построения решений для комбинаторных задач. Применение Primal-Dual к задаче о поиске кратчайших путей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 4&#039;&#039;&#039; (24 апреля). Задача о взвешенном паросочетании в двудольном графе, применение Primal-Dual для её решения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 5&#039;&#039;&#039; (15 мая). Поиск паросочетаний в недвудольных графах. Алгоритм Эдмонса. Минимаксная формула для размера паросочетания в произвольном графе (формула Татта-Бержа).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 6&#039;&#039;&#039; (22 мая). Симплекс-метод, геометрическая интерпретация, базисные перменные и эффективная реализация (табличный симплекс-метод).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 7&#039;&#039;&#039; (29 мая). Метод эллипсоидов, решение выпуклых задач оптимизации с помощью метода отделяющей плоскости. Задача о разрезе максимального веса, 0.5-приближение с помощью дерандомизации. Построение 0.878-приближения с помощью сведения к задаче полуопределенного программирования.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 8&#039;&#039;&#039; (5 июня). Метод локального поиска. Применение его к задаче о ферзях. Применение к задаче о раскраске графа. Алгоритм sqrt(n) раскраски 3-раскрашиваемого графа.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-6 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 2&#039;&#039;&#039; (9-13 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 3&#039;&#039;&#039; (16-20 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 4&#039;&#039;&#039; (23-24 апреля). Задача Set-Cover. Решение с помощью округления ЛП. Примерение Primal-Dual для построение f-приближения. Вероятностный способ округления для построения log(n)-приближения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 5&#039;&#039;&#039; (14-18 мая). Разложение Эдмонса-Галлаи, его полученеи из алгоритмы Эдмонса и его свойства. Задача о существовании совершенного паросочения в 3-регулярном графе без мостов. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 6&#039;&#039;&#039; (21-25 мая). Задача о поиске упаковки вершинно-непересекающихся T-путей, минимаксная формула Галлаи. Связь с задачей о паросочетаниях.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 7&#039;&#039;&#039; (28 мая - 1 июня). Программирование в ограничениях (CP), базовая концепция. Примеры решения задач с помощью CP: задача о ферзях, задача о магической последовательности, задача о сборке автомобилей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 8&#039;&#039;&#039; (4-8 июня). Задача коммивояжера. Алгоритмы для 2 и 1.5 приближений. Алгоритмы локального поиска в данной задаче: 2-OPT, 3-OPT, эвристика Ли-Кернигана.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 1 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Критерий оценки задачи о рюкзаке ====&lt;br /&gt;
Оценивание производилось на закрытых тестах. Оценка ставится в зависимости от отличия вашего решения и оптимального решения. Также в случае отсутствия отчета или плохо написанного отчета семинарист вправе снять еще до 1 балла.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка 0 – 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;200 – 5 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;1500 – 4 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;5000 – 3 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;15000 – 2 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;21000 – 1 балл.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Последняя граница выбрана исходя из того, что стандартное жадное решение имеет ошибку примерно 20800)&lt;br /&gt;
&lt;br /&gt;
Приватные тесты: https://yadi.sk/d/1n9vMPTi3XLFiM&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 2 (теория)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 2 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить 5 теоретических задач, условия: https://yadi.sk/i/o4gtEhpA3VywLM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве решения в каждой задачи должно быть подробное доказательство требуемого факта/описание работы алгоритма/структуры данных с оценкой времени его работы. При выполнении этого домашнего задания можно использовать все алгоритмы и теоремы, которые были разобраны и доказаны на лекциях и семинарах. Однако, следует подробно объяснить к чему и как они применяются.&lt;br /&gt;
&lt;br /&gt;
Решения настоятельно рекомендуется записывать в latex-е.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение + баллы за семинар 1 + баллы за семинар 2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 2&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 3 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 25 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/7fEE0CuN3Xk5bJ&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8422&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение)&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 3&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28131</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28131"/>
		<updated>2018-06-07T10:46:09Z</updated>

		<summary type="html">&lt;p&gt;Ignat: Лекции и семинары&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 2&#039;&#039;&#039; (10 апреля). Задача о рюкзаке: PTAS с временем работы (n^(1+1/eps)), FPTAS с временем работы O(n^3 * 1 /eps). Напоминание об переменных нежесткости и условиях дополняющей нежесткости.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 3&#039;&#039;&#039; (17 апреля). Методика Primal-Dual построения решений для комбинаторных задач. Применение Primal-Dual к задаче о поиске кратчайших путей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 4&#039;&#039;&#039; (24 апреля). Задача о взвешенном паросочетании в двудольном графе, применение Primal-Dual для её решения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 5&#039;&#039;&#039; (15 мая). Поиск паросочетаний в недвудольных графах. Алгоритм Эдмонса. Минимаксная формула для размера паросочетания в произвольном графе (формула Татта-Бержа).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 6&#039;&#039;&#039; (22 мая). Симплекс-метод, геометрическая интерпретация, базисные перменные и эффективная реализация (табличный симплекс-метод).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 7&#039;&#039;&#039; (29 мая). Метод эллипсоидов, решение выпуклых задач оптимизации с помощью метода отделяющей плоскости. Задача о разрезе максимального веса, 0.5-приближение с помощью дерандомизации. Построение 0.878-приближения с помощью сведения к задаче полуопределенного программирования.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 8&#039;&#039;&#039; (5 июня). Метод локального поиска. Применение его к задаче о ферзях. Применение к задаче о раскраске графа. Алгоритм sqrt(n) раскраски 3-раскрашиваемого графа.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-6 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 2&#039;&#039;&#039; (9-13 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 3&#039;&#039;&#039; (16-20 апреля). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 4&#039;&#039;&#039; (23-24 апреля). Задача Set-Cover. Решение с помощью округления ЛП. Примерение Primal-Dual для построение f-приближения. Вероятностный способ округления для построения log(n)-приближения.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 5&#039;&#039;&#039; (14-18 мая). Разложение Эдмонса-Галлаи, его полученеи из алгоритмы Эдмонса и его свойства. Задача о существовании совершенного паросочения в 3-регулярном графе без мостов. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 6&#039;&#039;&#039; (21-25 мая). Задача о поиске упаковки вершинно-непересекающихся T-путей, минимаксная формула Галлаи. Связь с задачей о паросочетаниях.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 7&#039;&#039;&#039; (28 мая - 1 июня). Программирование в ограничениях (CP), базовая концепция. Примеры решения задач с помощью CP: задача о ферзях, задача о магической последовательности, задача о сборке автомобилей.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 8&#039;&#039;&#039; (4-8 июня). Задача коммивояжера. Алгоритмы для 2 и 1.5 приближений. Алгоритмы локального поиска в данной задаче: 2-OPT, 3-OPT, эвристика Ли-Кернигана.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 1 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Критерий оценки задачи о рюкзаке ====&lt;br /&gt;
Оценивание производилось на закрытых тестах. Оценка ставится в зависимости от отличия вашего решения и оптимального решения. Также в случае отсутствия отчета или плохо написанного отчета семинарист вправе снять еще до 1 балла.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка 0 – 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;200 – 5 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;1500 – 4 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;5000 – 3 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;15000 – 2 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;21000 – 1 балл.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Последняя граница выбрана исходя из того, что стандартное жадное решение имеет ошибку примерно 20800)&lt;br /&gt;
&lt;br /&gt;
Приватные тесты: https://yadi.sk/d/1n9vMPTi3XLFiM&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 2 (теория)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 2 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить 5 теоретических задач, условия: https://yadi.sk/i/o4gtEhpA3VywLM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве решения в каждой задачи должно быть подробное доказательство требуемого факта/описание работы алгоритма/структуры данных с оценкой времени его работы. При выполнении этого домашнего задания можно использовать все алгоритмы и теоремы, которые были разобраны и доказаны на лекциях и семинарах. Однако, следует подробно объяснить к чему и как они применяются.&lt;br /&gt;
&lt;br /&gt;
Решения настоятельно рекомендуется записывать в latex-е.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение + баллы за семинар 1 + баллы за семинар 2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 2&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28110</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28110"/>
		<updated>2018-06-04T22:52:24Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 1 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Критерий оценки задачи о рюкзаке ====&lt;br /&gt;
Оценивание производилось на закрытых тестах. Оценка ставится в зависимости от отличия вашего решения и оптимального решения. Также в случае отсутствия отчета или плохо написанного отчета семинарист вправе снять еще до 1 балла.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка 0 – 6 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;200 – 5 баллов.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;1500 – 4 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;5000 – 3 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;15000 – 2 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка &amp;lt;21000 – 1 балл.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Последняя граница выбрана исходя из того, что стандартное жадное решение имеет ошибку примерно 20800)&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 2 (теория)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 2 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить 5 теоретических задач, условия: https://yadi.sk/i/o4gtEhpA3VywLM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве решения в каждой задачи должно быть подробное доказательство требуемого факта/описание работы алгоритма/структуры данных с оценкой времени его работы. При выполнении этого домашнего задания можно использовать все алгоритмы и теоремы, которые были разобраны и доказаны на лекциях и семинарах. Однако, следует подробно объяснить к чему и как они применяются.&lt;br /&gt;
&lt;br /&gt;
Решения настоятельно рекомендуется записывать в latex-е.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение + баллы за семинар 1 + баллы за семинар 2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 2&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28109</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=28109"/>
		<updated>2018-06-04T22:48:36Z</updated>

		<summary type="html">&lt;p&gt;Ignat: Критерии для рюкзака&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 1 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Критерий оценки задачи о рюкзаке ====&lt;br /&gt;
Оценивание производилось на закрытых тестах. Оценка ставится в зависимости от отличия вашего решения и оптимального решения. Также в случае отсутствия отчета или плохо написанного отчета семинарист вправе снять еще до 1 балла.&lt;br /&gt;
&lt;br /&gt;
Суммарная ошибка 0 – 6 баллов.&lt;br /&gt;
Суммарная ошибка &amp;lt;200 – 5 баллов.&lt;br /&gt;
Суммарная ошибка &amp;lt;1500 – 4 балла.&lt;br /&gt;
Суммарная ошибка &amp;lt;5000 – 3 балла.&lt;br /&gt;
Суммарная ошибка &amp;lt;15000 – 2 балла.&lt;br /&gt;
Суммарная ошибка &amp;lt;21000 – 1 балла.&lt;br /&gt;
&lt;br /&gt;
Последняя граница выбрана исходя из того, что стандартное жадное решение имеет ошибку примерно 20800)&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 2 (теория)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 2 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить 5 теоретических задач, условия: https://yadi.sk/i/o4gtEhpA3VywLM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве решения в каждой задачи должно быть подробное доказательство требуемого факта/описание работы алгоритма/структуры данных с оценкой времени его работы. При выполнении этого домашнего задания можно использовать все алгоритмы и теоремы, которые были разобраны и доказаны на лекциях и семинарах. Однако, следует подробно объяснить к чему и как они применяются.&lt;br /&gt;
&lt;br /&gt;
Решения настоятельно рекомендуется записывать в latex-е.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение + баллы за семинар 1 + баллы за семинар 2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 2&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27878</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27878"/>
		<updated>2018-05-16T08:43:25Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 1 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 2 (теория)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 2 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить 5 теоретических задач, условия: https://yadi.sk/i/o4gtEhpA3VywLM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве решения в каждой задачи должно быть подробное доказательство требуемого факта/описание работы алгоритма/структуры данных с оценкой времени его работы. При выполнении этого домашнего задания можно использовать все алгоритмы и теоремы, которые были разобраны и доказаны на лекциях и семинарах. Однако, следует подробно объяснить к чему и как они применяются.&lt;br /&gt;
&lt;br /&gt;
Решения настоятельно рекомендуется записывать в latex-е.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Оценка будет выставлять по формуле min(10, баллы за решение + баллы за семинар 1 + баллы за семинар 2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 2&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27877</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27877"/>
		<updated>2018-05-16T08:41:13Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 1 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 2 (теория)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 2 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить 5 теоретических задач, условия: https://yadi.sk/i/o4gtEhpA3VywLM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве решения в каждой задачи должно быть подробное доказательство требуемого факта/описание работы алгоритма/структуры данных с оценкой времени его работы. При выполнении этого домашнего задания можно использовать все алгоритмы и теоремы, которые были разобраны и доказаны на лекциях и семинарах. Однако, следует подробно объяснить к чему и как они применяются.&lt;br /&gt;
&lt;br /&gt;
Решения настоятельно рекомендуется записывать в latex-е.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 2&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27876</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27876"/>
		<updated>2018-05-16T08:40:45Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 1 (практика)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Домашнее задание 2 (теория)===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 2 июня 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить 5 теоретических задач, архив с условием: https://yadi.sk/i/o4gtEhpA3VywLM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В качестве решения в каждой задачи должно быть подробное доказательство требуемого факта/описание работы алгоритма/структуры данных с оценкой времени его работы. При выполнении этого домашнего задания можно использовать все алгоритмы и теоремы, которые были разобраны и доказаны на лекциях и семинарах. Однако, следует подробно объяснить к чему и как они применяются.&lt;br /&gt;
&lt;br /&gt;
Решения настоятельно рекомендуется записывать в latex-е.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 2&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27685</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27685"/>
		<updated>2018-04-24T10:46:17Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Практическое домашнее задание 1 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27684</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27684"/>
		<updated>2018-04-24T10:45:58Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Домашние задания ==&lt;br /&gt;
&lt;br /&gt;
=== Практическое домашнее задание 1 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27683</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27683"/>
		<updated>2018-04-24T10:45:31Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Практические задания ==&lt;br /&gt;
&lt;br /&gt;
=== Практическое домашнее задание 1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Дедлайн: 14 мая 23:59&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27682</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27682"/>
		<updated>2018-04-24T10:44:40Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Практические задания ==&lt;br /&gt;
&lt;br /&gt;
=== Практическое домашнее задание 1&lt;br /&gt;
&lt;br /&gt;
!!Дедлайн: 14 мая 23:59!!&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, архив с условием: https://yadi.sk/d/t9yrhBy-3UiVgA&lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
Задание следует отправлять на почту discret.opt.hse@gmail.com.&lt;br /&gt;
В заголовке письма с решением указывайте &amp;quot;[Название группы] ФИО Домашнее задание 1&amp;quot;.&lt;br /&gt;
В случае вопроса добавляйте в заголовок письма слово &amp;quot;вопрос&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27681</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27681"/>
		<updated>2018-04-24T10:27:44Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Связь !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || telegram: @ivan_lakhtanov  || ? || Пятница 15:10 - 16:30&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || telegram: @max_akhmedov, http://t.me/discrete_opt_155 || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || telegram: @wilwell  || ? || Вторник 10:30 - 11:50&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Практические задания ==&lt;br /&gt;
&lt;br /&gt;
=== Практическое домашнее задание 1&lt;br /&gt;
&lt;br /&gt;
!!Дедлайн: 14 мая 23:59!!&lt;br /&gt;
&lt;br /&gt;
В домашнем задании требуется решить три практических задачи, подробное условие: &lt;br /&gt;
&lt;br /&gt;
Контест для сдачи задач: https://contest.yandex.ru/contest/8104/&lt;br /&gt;
Грейдер для задачи о рюкзаке: http://akhmedov.me:50010/knapsack&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27462</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27462"/>
		<updated>2018-04-04T14:21:39Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Почта !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || ignat1990@gmail.com || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || - || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || - || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Практические задания ==&lt;br /&gt;
!!TBA!!&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27458</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27458"/>
		<updated>2018-04-04T12:28:25Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Учебный ассистент !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || - || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || - || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || - || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Практические задания ==&lt;br /&gt;
!!TBA!!&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * [[https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]]]  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * [[http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра]] (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на [[https://www.coursera.org/course/optimization Coursera]]. Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. ([[http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация]])&lt;br /&gt;
  * [[http://numberjack.ucc.ie/ Numberjack]] (Python)&lt;br /&gt;
  * [[http://choco-solver.org/ Choco]] (Java)&lt;br /&gt;
  * [[http://www.gecode.org/index.html Gecode]] (C++)&lt;br /&gt;
  * [[http://www.minizinc.org/ MiniZinc]] (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27457</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27457"/>
		<updated>2018-04-04T12:27:19Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Учебный ассистент !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || - || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || - || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || - || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Практические задания ==&lt;br /&gt;
!!TBA!!&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * ((https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]))  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * ((http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра)) (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на ((https://www.coursera.org/course/optimization Coursera)). Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  [[https://developers.google.com/optimization/ Google Optimization Tools]] (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. (((http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация)))&lt;br /&gt;
  * ((http://numberjack.ucc.ie/ Numberjack)) (Python)&lt;br /&gt;
  * ((http://choco-solver.org/ Choco)) (Java)&lt;br /&gt;
  * ((http://www.gecode.org/index.html Gecode)) (C++)&lt;br /&gt;
  * ((http://www.minizinc.org/ MiniZinc)) (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27456</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27456"/>
		<updated>2018-04-04T12:26:26Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Учебный ассистент !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || - || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || - || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || - || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Практические задания ==&lt;br /&gt;
!!TBA!!&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * ((https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]))  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * ((http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра)) (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на ((https://www.coursera.org/course/optimization Coursera)). Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  ((https://developers.google.com/optimization/ Google Optimization Tools)) (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. (((http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация)))&lt;br /&gt;
  * ((http://numberjack.ucc.ie/ Numberjack)) (Python)&lt;br /&gt;
  * ((http://choco-solver.org/ Choco)) (Java)&lt;br /&gt;
  * ((http://www.gecode.org/index.html Gecode)) (C++)&lt;br /&gt;
  * ((http://www.minizinc.org/ MiniZinc)) (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27455</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27455"/>
		<updated>2018-04-04T12:26:11Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Учебный ассистент !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || - || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || - || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || - || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Практические задания ==&lt;br /&gt;
!!TDA!!&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * ((https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]))  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * ((http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра)) (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на ((https://www.coursera.org/course/optimization Coursera)). Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  ((https://developers.google.com/optimization/ Google Optimization Tools)) (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. (((http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация)))&lt;br /&gt;
  * ((http://numberjack.ucc.ie/ Numberjack)) (Python)&lt;br /&gt;
  * ((http://choco-solver.org/ Choco)) (Java)&lt;br /&gt;
  * ((http://www.gecode.org/index.html Gecode)) (C++)&lt;br /&gt;
  * ((http://www.minizinc.org/ MiniZinc)) (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27454</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27454"/>
		<updated>2018-04-04T12:25:09Z</updated>

		<summary type="html">&lt;p&gt;Ignat: Правки&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Учебный ассистент !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || - || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || - || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || - || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Практические задания ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * ((https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]))  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * ((http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра)) (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на ((https://www.coursera.org/course/optimization Coursera)). Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Библиотеки для решения задач оптимизации===&lt;br /&gt;
  *  ((https://developers.google.com/optimization/ Google Optimization Tools)) (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. (((http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация)))&lt;br /&gt;
  * ((http://numberjack.ucc.ie/ Numberjack)) (Python)&lt;br /&gt;
  * ((http://choco-solver.org/ Choco)) (Java)&lt;br /&gt;
  * ((http://www.gecode.org/index.html Gecode)) (C++)&lt;br /&gt;
  * ((http://www.minizinc.org/ MiniZinc)) (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27453</id>
		<title>Дискретная оптимизация 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%94%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_2018&amp;diff=27453"/>
		<updated>2018-04-04T12:23:55Z</updated>

		<summary type="html">&lt;p&gt;Ignat: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== О курсе ==&lt;br /&gt;
&lt;br /&gt;
Курс читается для студентов 3-го курса [https://cs.hse.ru/ami ПМИ ФКН ВШЭ] в 4 модуле. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лектор:&#039;&#039;&#039; [http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat  Игнат Колесниченко]&lt;br /&gt;
&lt;br /&gt;
Лекции ПМИ проходят по вторникам, 13:40 - 15:00, ауд. 622.&lt;br /&gt;
&lt;br /&gt;
=== Полезные ссылки ===&lt;br /&gt;
&lt;br /&gt;
Репозиторий с материалами: TODO&lt;br /&gt;
Канал в телеграм для объявлений: https://t.me/joinchat/AAAAAFD1-ZdchZS1FoOduA&lt;br /&gt;
&lt;br /&gt;
Таблица с оценками: TODO&lt;br /&gt;
Оставить отзыв на курс: TODO&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Группа !! Преподаватель !! Учебный ассистент !! Страница !! Расписание&lt;br /&gt;
|-&lt;br /&gt;
| МОП 151 || Лахтанов Иван || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| МОП 152 || Колесниченко Игнат || - || http://wiki.cs.hse.ru/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Ignat || Вторник 15.10-16.30&lt;br /&gt;
|-&lt;br /&gt;
| АПР 153  || Суханов Николай || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| АДИС 154 || Савченко Руслан || - || ? || ?&lt;br /&gt;
|-&lt;br /&gt;
| РС 155 || Ахмедов Максим || - || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
| ТИ 156 || Саакян Вильям || - || ? || ?&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Консультации ===&lt;br /&gt;
&lt;br /&gt;
Консультации с преподавателями и учебными ассистентами (если иное не оговорено на странице семинаров конкретной группы) по курсу проводятся по предварительной договорённости ввиду невостребованности регулярных консультаций.&lt;br /&gt;
&lt;br /&gt;
=== Правила выставления оценок ===&lt;br /&gt;
&lt;br /&gt;
В курсе предусмотрено 3 домашних задания – 2 практических и 1 теоретическое. За каждое домашнее задание выставляется оценка по 10-бальной шкале, правила получения оценки будут оговариваться при публикации домашнего задания.&lt;br /&gt;
&lt;br /&gt;
Итоговая оценка вычисляется исходя из оценок за домашние задания&lt;br /&gt;
&lt;br /&gt;
O&amp;lt;sub&amp;gt;итоговая&amp;lt;/sub&amp;gt; = 0.33 * O&amp;lt;sub&amp;gt;ДЗ1&amp;lt;/sub&amp;gt; + 0.33 * О&amp;lt;sub&amp;gt;ДЗ2&amp;lt;/sub&amp;gt; + 0.34 * О&amp;lt;sub&amp;gt;ДЗ3&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также на семинарах иногда будут выдаваться небольшие домашние задания. Их решение будет засчитываться как доп. баллы в домашних заданиях (доп. баллы к исходной оценке в ДЗ, а не к результирующей).&lt;br /&gt;
&lt;br /&gt;
=== Правила сдачи заданий ===&lt;br /&gt;
&lt;br /&gt;
Дедлайны по всем домашним заданиям являются жёсткими, то есть после срока работы не принимаются.&lt;br /&gt;
&lt;br /&gt;
При обнаружении плагиата оценки за домашнее задание обнуляются всем задействованным в списывании студентам, а также подаётся докладная записка в деканат. Следует помнить, что при повторном списывании деканат имеет право отчислить студента.&lt;br /&gt;
&lt;br /&gt;
При наличии уважительной причины дедлайн по домашнему заданию может быть перенесён. Дедлайн по домашнему заданию переносится на количество дней, равное продолжительности уважительной причины. Решение о том, является ли причина уважительной, принимает исключительно учебный офис.&lt;br /&gt;
&lt;br /&gt;
== Лекции ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Лекция 1&#039;&#039;&#039; (3 апреля). Метод Branch&amp;amp;Bound решения оптимизационных задач. Задача о рюкзаке: 2-приближение, динамическое программирование по весам и по стоимостям.&lt;br /&gt;
&lt;br /&gt;
== Семинары ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Семинар 1&#039;&#039;&#039; (2-7 апреля). Напоминание о линейном и целочисленном программирование. Построение двойственных программ. Задача о поиске максимального паросочетания в двудольном графе.&lt;br /&gt;
&lt;br /&gt;
== Практические задания ==&lt;br /&gt;
&lt;br /&gt;
== Полезные материалы ==&lt;br /&gt;
===Рекомендуемая литература  ===&lt;br /&gt;
&lt;br /&gt;
  * &amp;quot;B.Korte, J.Vygen – Combinatorial optimization&amp;quot; – подробная книга по теории комбинаторной оптимизации (http://www.or.uni-bonn.de/~vygen/co.html).&lt;br /&gt;
  * &amp;quot;V. Vazirani – Approximation Algorithms&amp;quot; – одна из лучших книг по приближенным алгоритмам.&lt;br /&gt;
  * &amp;quot;H. Papadimitriou – Combinatorial Optimization: Algorithms and Complexity&amp;quot; – классический учебник по комбинаторной оптимизации. &lt;br /&gt;
  * &amp;quot;Where are the hard knapsack problems?&amp;quot; [David Pisinger] - интересные рассуждения по поводу того, как генерировать сложные тесты для задачи о рюкзаке.&lt;br /&gt;
  * ((https://web.tuke.sk/fei-cit/butka/hop/htsp.pdf &amp;quot;Heuristics for the Traveling Salesman Problem&amp;quot; [Christian Nilsson]))  - краткое но насыщенное описание эвристик для задачи о коммивояжёре.&lt;br /&gt;
  * &amp;quot;Handbook of Constraint Programming&amp;quot; [F. Rossi, P. van Beek and T. Walsh] - справочник по программированию в ограничениях.&lt;br /&gt;
  * &amp;quot;Handbook of Metaheuristics&amp;quot; [Michel Gendreau, Jean-Yves Potvin] - справочник с описанием эвристических алгоритмов оптимизации.&lt;br /&gt;
&lt;br /&gt;
===Полезные ссылки  ===&lt;br /&gt;
&lt;br /&gt;
  * ((http://dopt.s3-website-us-east-1.amazonaws.com/003/viz/tsp/ Визуализатор маршрута коммивояжёра)) (вершины подаются в 0-индексации)&lt;br /&gt;
  * Курс по дискретной оптимизации на ((https://www.coursera.org/course/optimization Coursera)). Содержит хорошие видео-лекции по Constraint Programming и Local Search.&lt;br /&gt;
&lt;br /&gt;
===Материалы иного рода.  ===&lt;br /&gt;
&lt;br /&gt;
Библиотеки для решения задач оптимизации:&lt;br /&gt;
  *  ((https://developers.google.com/optimization/ Google Optimization Tools)) (C++, Python, Java, C#) - фреймворк для решения задач дискретной оптимизаций. Позволяет программировать в парадигме Constraint Programming. Содержит инструменты для решения задач линейного программирования. (((http://www.lia.disi.unibo.it/Staff/MicheleLombardi/or-tools-doc/documentation_hub.html Более полная документация)))&lt;br /&gt;
  * ((http://numberjack.ucc.ie/ Numberjack)) (Python)&lt;br /&gt;
  * ((http://choco-solver.org/ Choco)) (Java)&lt;br /&gt;
  * ((http://www.gecode.org/index.html Gecode)) (C++)&lt;br /&gt;
  * ((http://www.minizinc.org/ MiniZinc)) (MiniZinc) - Довольно выразительный язык для CP. Есть ((http://www.hakank.org/minizinc/ много примеров)).&lt;/div&gt;</summary>
		<author><name>Ignat</name></author>
	</entry>
</feed>