목표
1. Gurobi Solver를 Python 내에서 사용한다.
2. IDE는 VScode를 사용할 것이다.
3. IDE에서 Interactive, Debugger 사용한다.
주의할 점
1. Python Debugger는 3.9.0 이상만 지원한다 (2024년 초 기준)
2. Gurobi 버전에 따라 구동 및 설치 가능한 Python 버전이 정해져 있다.
따라서 사용하고 있는 Python 버전에 맞게 Gurobipy를 설치해주어야 한다.
이를 위한 Step
1. Python 가상환경 설정
1) 만들기
conda create -n (가상환경이름) python=3.9
2) 가상환경 활성화
conda activate #(가상환경이름)
3) 현재 가상환경 확인
conda info --envs
-> environment들 중, * 표시가 있는 것이 현재 가상환경
4) 만약 활성화하였는데도 현재 가상환경이 제대로 표출되지 않는다면,
- ctrl+shift+p > Python:select interpreter로 interpreter 확인 + 직접 해당 가상환경을 선택
- 선택해도 활성화되지 않는다면 VScode 종료 후 다시 실행해보기
5) Interactive kernel 사용하기
# 설치
conda install ipykernel jupyter
# 설치 후
python -m ipykernel install --user --name netenv --display-name "Python (가상환경명)"
6) Gurobipy 설치하기
pip install gurobipy
여기서 주의할 점은, conda가 아닌 pip로 설치해야 한다!!!!!
chatGPT에 따르면..
- Conda로 설치한 gurobi 10.0.3 py37_0 은 Python 3.7만 지원하는 빌드
- 그래서 conda는 이걸 Python 3.9 환경에서는 설치 불가하다고 판단하고 거절함
따라서 conda로 설치하면 안됨
7) Gurobi license 업데이트
Gurobi solver의 장점은 학생용 라이센스를 제공한다는 점이다 (❤️)
기능도 꽤 짱짱하다
학생임을 인증한 후에는 Gurobi 홈페이지에서 로그인 후, User portal에 들어가 license key를 받을 수 있다.
라이센스에서 벨 모양 옆에 있는 컴퓨터 다운로드 같은 버튼을 클릭하면,
grbgetkey 로 시작하는 라이센스 키를 볼 수 있다.
그대로 복사하여서 명령어로 터미널에서 실행하면 된다!
-
설치가 정상적으로 되었다면, 다음과 같은 화면을 볼 수 있다.
만약 위 단계까지 했는데도 정상적으로 되지 않는다면 일단 VScode를 종료 후 재실행해보자 (의외로 많은 문제들이 해결됨)
중점적으로 확인해보아야 할 부분은 Interactive에 있는 가상 환경 부분!
내가 만든 가상환경에 제대로 들어가있는지 확인한다
디버거도 정상 작동하는 것을 확인하였다
참고로, network flow model의 예제는 여기서 가져왔다
https://docs.gurobi.com/projects/examples/en/current/examples/python/netflow.html
netflow.py - Gurobi Example Tour
Previous multiscenario.py
docs.gurobi.com
다음 포스팅에서는 network flow 예제를 해석하고 풀어보려고 한다!