В настоящем пособии рассматривается теорема Ф.Холла о системе различных представителей, решающая задачу о свадьбах, и эквивалентные ей теоремы Менгера, Дилворта, Кенига-Эгервари, Форда-Фалкерсона. Показано, что эти теоремы являются проявлением принципа двойственности в линейном программировании. Приведен также венгерский алгоритм решения задачи о назначениях. Книга ориентирована на студентов специальностей "Математика", "Прикладная математика", "Прикладная математика и информатика", "Программная инженерия", изучающих дискретную математику и дискретную оптимизацию.