Цей репозиторій містить матеріали курсу "Основи графових алгоритмів для електроенерготехніки".
Курс охоплює фундаментальні аспекти використання теорії графів та графових алгоритмів для моделювання, аналізу та оптимізації електричних мереж. Лекції структуровані для забезпечення розуміння теоретичних концепцій (як математичних, так і електроенергетичних) та надання практичних навичок програмування на C#.
Кожна лекція включає:
- Теоретичну частину з поясненням концепцій теорії графів в контексті енергосистем.
- Приклад ручного розрахунку для закріплення матеріалу алгоритму.
- Приклад реалізації на C# для демонстрації практичного застосування алгоритмів.
- Завдання для самостійної роботи (з варіантами) для розвитку практичних навичок.
- Лекція 1: Вступ до теорії графів. Представлення електричної мережі, матриці суміжності та інциденцій
- Лекція 2: Алгоритми обходу графа (BFS та DFS). Виявлення електричних островів (Connected Components)
- Лекція 3: Найкоротші шляхи (Алгоритм Дейкстри). Маршрутизація та аналіз вразливості мережі
- Лекція 4: Мінімальне кістякове дерево (Алгоритм Пріма). Оптимальна конфігурація розподільчих мереж
- Лекція 5: Мінімальне кістякове дерево (Алгоритм Крускала). Планування розвитку мереж
- Лекція 6: Максимальний потік у мережах (Алгоритм Форда-Фалкерсона). Оцінка пропускної здатності ліній
- Лекція 7: Топологічне сортування. Аналіз ієрархії живлення радіальних мереж
- Лекція 8: Кластеризація (K-Core декомпозиція). Формування мікрогридів та виявлення щільних зон
- Лекція 9: Центральність вузлів (Betweenness Centrality). Визначення критичних елементів енергосистеми
- Лекція 10: Розфарбовування графів. Координація релейного захисту
- Лекція 11: Формування матриці Y на основі графів. Зв'язок топології та електричних параметрів
- Лекція 12: Двочасткові графи та паросполучення. Оптимальний розподіл генерації та навантаження
- Лекція 13: Мости та точки зчленування. Аналіз надійності за критерієм N-1
- Лекція 14: Задача комівояжера на графах. Оптимізація маршрутів ремонтних бригад (ОВБ)
Для роботи з прикладами коду C# вам знадобиться встановлений .NET SDK.
- Встановіть .NET SDK: Завантажте та встановіть останню версію з https://dotnet.microsoft.com/download.
- Створіть проект: У папці, де ви плануєте працювати з кодом (наприклад,
Lecture1_Task), відкрийте термінал та виконайте:dotnet new console -n MyGraphProject cd MyGraphProject - Запуск коду: Скопіюйте код
Program.csз лекції та виконайтеdotnet run.
Для тих, хто не хоче встановлювати .NET SDK локально, ви можете скористатися онлайн-компілятором https://dotnetfiddle.net/.