Тристан Уэст - Крупномасштабное агентное моделирование | PyData London 2023

YOUTUBE · 25.11.2025 07:06

Ключевые темы и таймкоды

Введение в моделирование

0:01
  • Видео объясняет, что моделирование - это внешнее воплощение ментальной модели, которую мы используем для принятия решений.
  • Примеры использования моделирования: наука, обучение с подкреплением, авиасимуляторы, энергосистемы, финансовые модели.

Использование моделирования в Virgin Media

4:22
  • Virgin Media решает проблему оптимизации плана внедрения оптоволокна.
  • Используют матрицу с двоичными переменными для принятия решений о развертывании оптоволокна в разные периоды времени.
  • Используют решение для линейного программирования со смешанными целыми числами для нахождения оптимального графика.
  • Обсуждают использование симплексного алгоритма Данцига для решения проблемы.

Оптимизация внедрения оптоволокна

9:08
  • Моделирование и оптимизация процесса внедрения оптоволокна в телекоммуникационной сети.
  • Использование целевой функции для максимизации долгосрочной прибыли.

Создание инструмента сетевого моделирования

15:16
  • Создание инструмента для сценарного тестирования и оптимизации других инвестиций в сеть.
  • Использование облачных технологий и BigQuery для хранения и анализа данных.

Использование библиотек для создания симуляций

17:06
  • Выбор библиотеки для создания симуляций на основе дискретного временного шага.
  • Отказ от использования библиотеки "Спортивный зал" из-за сложности и сложности обучения агентов.

Создание симуляции

18:18
  • Обсуждение подхода к разработке симуляции, основанного на ценности, предметной области и коде домена.
  • Создание внутренней модели данных, которая соответствует коду домена.

Архитектура и принципы разработки

21:44
  • Использование архитектуры onion для разделения кода на более независимые разделы.
  • Применение принципов высокого уровня, таких как использование объектно-ориентированного программирования, использование методов кодирования объектов, хранение состояния объектов внутри системы и использование подсказок типа для ввода и вывода.

Поток управления и запись данных

26:16
  • Использование пошагового метода для управления потоком управления.
  • Запись данных с использованием классов данных или регистратора для анализа и визуализации результатов.
  • Избежание проблем в гонке путем зависимости состояния от других объектов в определенный момент времени.

Использование моделирования для оптимизации

28:57
  • Рэй - программное обеспечение для управления кластерами, которое позволяет отслеживать нагрузку на процессоры и машины.
  • Python быстро набирает скорость и может моделировать 50-100 различных областей за считанные секунды.

Взаимодействие с бизнесом

31:18
  • Привлечение заинтересованных сторон на ранних этапах помогает избежать анти-паттернов и построить то, что нужно бизнесу.
  • Частота встреч с заинтересованными сторонами зависит от их уровня знаний и важности для проекта.

Моделирование и оптимизация

36:09
  • Моделирование позволяет оценить распределение для каждого события и распределить ресурсы.
  • Методы Монте-Карло могут использоваться для расчета входных данных с учетом их распределения.
  • Важно показать людям что-то полезное и ценное, а затем сделать это лучше.