Перейти к основному содержимому

Математическое программирование — чек-лист

Архитектору Инженеру

Как воспринимать этот чек-лист

Это инструмент диагностики глубины понимания. Пункт считается закрытым, когда вы объясняете термин своими словами и решаете короткий пример без подсказок.

Используйте список итеративно — после первого чтения раздела, через несколько дней и перед практикой в коде. Повтор с интервалом помогает увидеть слабые зоны до того, как они всплывут в реальной задаче.

Загрузка вопросов…

Чек-лист самопроверки

  1. Могу ли я объяснить, чем математическое программирование отличается от написания программ на языке Python?
  2. Знаю ли я три компонента задачи оптимизации (переменные, цель, ограничения)?
  3. Умею ли я записать задачу в стандартной форме max cᵀx при Ax ≤ b, x ≥ 0?
  4. Могу ли я ввести slack-переменную для ограничения ?
  5. Понимаю ли я, что такое выпуклое множество и почему пересечение выпуклых выпукло?
  6. Могу ли я объяснить, почему оптимум ЗЛП (если существует) достигается в вершине?
  7. Умею ли я построить допустимую область и найти оптимум графически для двух переменных?
  8. Распознаю ли я на графике несовместность и неограниченность цели?
  9. Чем метод Жордана–Гаусса отличается от "треугольного" хода Гаусса?
  10. Могу ли я привести систему к виду с единичным базисом в выбранных столбцах?
  11. Знаю ли я общую схему симплекс-метода (входящий / выходящий столбец, θ)?
  12. Умею ли я заполнить симплекс-таблицу и выполнить одну итерацию без ошибки в базисе?
  13. Знаю ли я, как проверить оптимальность по строке Z?
  14. Понимаю ли я, зачем нужны искусственные переменные?
  15. Могу ли я описать разницу между двухфазным методом и M-методом?
  16. Умею ли я выписать двойственную задачу к простой прямой ЗЛП?
  17. Знаю ли я формулировку сильной двойственности?
  18. Могу ли я объяснить экономический смысл двойственных переменных (тени цен)?
  19. Знаю ли я условие баланса в транспортной задаче?
  20. Умею ли я построить начальный опорный план методом северо-западного угла?
  21. Понимаю ли я, почему в невырожденном плане занято m+n−1 клеток?
  22. Могу ли я вычислить потенциалы uᵢ, vⱼ и оценки Δ для пустых клеток?
  23. Знаю ли я, что делать при вырождении (ε, блокирование)?
  24. Могу ли я записать уравнение Беллмана для задачи с этапами?
  25. Чем ДП Беллмана отличается от динамического программирования в алгоритмах (рюкзак)?
  26. Умею ли я перевести задачу max в форму min для scipy.optimize.linprog?
  27. Проверяю ли я решение солвера подстановкой в исходные ограничения?
  28. Понимаю ли я, когда ЗЛП недостаточно (целые переменные, нелинейность)?
  29. Могу ли я связать задачу планирования в IT с постановкой ЗЛП?
  30. Прошёл ли я полный учебный пример от постановки до ответа двумя способами (графика + симплекс или код)?
  31. Могу ли я построить модель "план / рацион / транспорт" по схеме из трёх шагов?
  32. Понимаю ли я, зачем вводят slack-переменную при переходе =?
  33. Умею ли я распознать неограниченную цель на графике (задача типа 2.4)?
  34. Знаю ли я алгоритм двойственного симплекса (этапы по Z-строке и RHS)?
  35. Могу ли я построить опорный план методом Фогеля?
  36. Умею ли я балансировать транспортную задачу фиктивным узлом?
  37. Могу ли я заполнить таблицу ДП для 0/1-рюкзака на 3–4 предметах?

Как пользоваться чек-листом эффективно

  • Отмечайте каждый пункт в трёх состояниях — "понимаю", "могу объяснить", "могу решить без шпаргалки".
  • Если пункт застрял на уровне "понимаю", вернитесь к соответствующей главе и решите один новый числовой пример.
  • Повторяйте список через 3-7 дней — интервальное повторение заметно снижает забывание формул и правил знаков.