# ЛР-01: Основы линейного программирования

Эта лабораторная линия учит собирать базовую задачу линейного программирования, понимать её геометрический смысл, переходить от максимизации к минимизации и проверять ответ через `scipy.optimize.linprog`.

## Как идти по материалам

1. Сначала прочитайте теорию.
2. Затем откройте свой `student notebook` в корне папки.
3. Только после самостоятельной попытки переходите к `worked examples`.

## Student notebooks

- `lab_01_student_civil_01.ipynb` — муниципальная пекарня
- `lab_01_student_civil_02.ipynb` — городской ремонтный участок
- `lab_01_student_military_01.ipynb` — комплектование полевых рационов
- `lab_01_student_military_02.ipynb` — ремонтно-обслуживающий склад

## Worked examples

- `examples-civil/` — гражданские разобранные примеры, включая переработанный прикладной кейс на базе бывшей линии `01.1`
- `examples-military/` — военные разобранные примеры по тем же базовым идеям ЛП

## Что студент должен уметь после ЛР-01

- выделять переменные, цель и ограничения;
- строить допустимую область для задачи с двумя переменными;
- находить вершины и сравнивать значения целевой функции;
- переводить `max` в `min` для `linprog`;
- проверять ответ и объяснять его простыми словами.
