Skip to content

2024-1 종합설계프로젝트2 도심항공모빌리티 이/착륙지 리소스 최적화 연구 및 개발 - 백엔드

Notifications You must be signed in to change notification settings

Cheetah-19/UAM_KNU_backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2024 경북대 종합설계프로젝트2

MILP를 활용한 단일 버티포트 내 UAM 리소스 최적화 시스템


🛠️ Tech Stacks








1. 과제 배경 및 내용

  • UAM의 성공적인 상용화를 위한 버티포트 리소스 최적화의 필요성

    2025년 상용화 예정인 UAM(도심항공모빌리티) : 도시의 주요 문제 중 하나인 교통 혼잡 문제를 해결할 수 있는 혁신적인 방안
    버티포트의 효율적인 운용의 중요성 : 버티포트는 기체의 이착륙, 승객의 탑승 및 하기, 화물의 적재 및 하역, 기체 점검 및 충전 등 다양한 활동이 동시에 이루어지는 중요한 시설임. 이러한 버티포트의 효율적인 운용은 UAM의 성공적인 상용화와 지속 가능한 발전에 있어 필수적임.

  • MILP를 적용한 최적화 수식 설정

    버티포트 내 리소스의 최적 배치를 위해 혼합 정수 선형 계획법(MILP)을 사용하여 수식을 설정함. 의사 결정 변수와 목적함수, 제약 조건을 적절히 설정하여 최적의 리소스 배치 결과가 나오도록 함.

  • 버티포트 정의 / 수정 및 가중치 설정 가능

    사용자는 버티포트의 리소스를 정의하고 수정할 수 있으며, 각 리소스의 중요도에 따라 가중치를 설정할 수 있음. 이를 통해 최적화 모델이 각 버티포트의 고유한 요구사항과 운영 조건을 반영할 수 있음.

  • 다양한 차트를 통한 최적화 결과 확인

    최적화 결과를 시각적으로 확인할 수 있도록 다양한 차트(막대 차트, 파이 차트 등)를 제공함 이를 통해 리소스 사용 현황, 혼잡도 감소 효과, 이용률 증가 등의 성과를 직관적으로 파악할 수 있음.




2. 과제 내용

2-1. Use Case Diagram

2-2. ER 다이어그램 & DB 테이블

2-3. Sequence Diagram

  • 버티포트 리소스 최적화

  • 버티포트 조회

  • 버티포트 추가

  • 버티포트 삭제

2-4 시스템 아키텍처

  • 프론트엔드 : React Framework, HTML, Js, css

    화면 디자인과 사용자 인터페이스를 담당함.
    최적화 결과에 대한 시각적 표현을 위해 Chart.js , Nivo와 같은 도구들을 활용함.

  • 백엔드 : Django Framework

    Web Server : NGINX

    WSGI : Gunicorn

    데이터베이스 : MySQL

    CI/CD : GitHub Actions

    MySQL를 이용하여 데이터베이스(DB)를 설계하고, Django 프레임워크를 활용하여 서버 구축함.
    MVT패턴을 통해 데이터들의 객체인 Model, 로직들을 처리하는 View를 개발함.
    AWS EC2를 통해 배포하였고, GitHub Actions로 보다 간편한 유지보수 환경을 마련함.

  • 알고리즘 : Python PLPuLP library

    혼합 정수 선형 계획법으로 단일 버티포트 내 리소스를 최적화하는 알고리즘을 개발함.

  • 협업 툴 : Github, Notion, Figma, Discord

2-5 Branch

main

실제로 배포되는 브랜치

develop

프로젝트를 진행하는 브랜치
완료된 feature 브랜치가 병합됨

feature

각 기능, 이슈로 나눠서 개발하는 브랜치

2-6 File structure

.github

GitHub Actions 설정과 관련된 폴더

apps

Django app을 모아둔 폴더

  • accounts : 회원 기능을 수행하는 앱
    ex) 회원가입, 로그인, 로그아웃, ...
  • optimizations : 최적화 결과 도출을 수행하는 앱
    ex) 최적화 결과를 도출하고 저장
  • vertiports : 버티포트와 관련된 기능을 수행하는 앱
    ex) 버티포트 조회, 추가, 삭제, ...

config

Django 설정과 관련된 파일을 모아둔 폴더
ex) middlware, setting.py, urls.py, ...

2-7 시작 가이드

Frontend repository : https://github.com/Cheetah-19/uam_knu_frontend

Installation

Frontend

  $ git clone https://github.com/Cheetah-19/uam_knu_frontend.git
  $ cd uam_knu_frontend
  $ npm install

Backend

  $ git clone https://github.com/Cheetah-19/UAM_KNU_backend.git
  $ cd UAM_KNU_backend
  $ pip install -r requirements.txt

Run

Frontend

  $ npm run

Backend

  $ python manage.py runserver 0:8000

2-8 화면 구성

  • 로그인/회원가입

  • 버티포트 관리

  • 최적화 결과 그래프

  • 마이페이지




3. 과제 성과

2024년도 한국정보기술학회 하계종합학술대회 우수논문상(동상) 수상



4. 참여인력

컴퓨터학부

김다훈 박준석 신동혁 신영재 이승운
프론트엔드 백엔드 프론트엔드 총괄, MILP 알고리즘 MILP 알고리즘

About

2024-1 종합설계프로젝트2 도심항공모빌리티 이/착륙지 리소스 최적화 연구 및 개발 - 백엔드

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages