목표

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 예제를 해석하고 풀어보려고 한다!

+ Recent posts