-
[python] LP, 선형계획법 python에서 구현Study/Python 2019. 5. 28. 14:18
먼저 선형 계획법에 대한 개념이 궁금하시다면 이전 글을 확인해주세요
2019/05/28 - [IT] - [분석/통계] LP, 선형계획법
pip install pulp # PuLP를 설치해줍시다! from pulp import * # LpProblem 함수를 이용해서 목적식의 종류?를 지정해줍니다 prob = LpProblem("The Whiskas Problem",LpMinimize) #("아무거나이름",최소최대,,,) # LpVariable 함수를 이용해서 사용할 x1,x2 변수의 이름, 상하한, 데이터 유형 지정 x1 = LpVariable ( "ChickenPercent" , 0 , None , LpInteger ) x2 = LpVariable ( "BeefPercent" , 0 ) # LpVariable ( "example" , None , 100 ) # ("그냥이름",이 변수의 하한값,상한값,데이터 유형) # 또는 LpVariable("example", upBound = 100) # 중간에 비워줄 경우 다음거가 뭔지 이름 써줘야함 # 변수 상하한은 숫자로 지정 음수 가능 # 데이터 유형은 LpContinuousor LpInteger이며 기본값은 as LpContinuous # 목적식을 적어 줍시다 prob += 0.013*x1 + 0.008*x2, "Total Cost of Ingredients per can" # 제약조건을 적어 줍시다 prob += x1 + x2 == 100, "PercentagesSum" prob += 0.100*x1 + 0.200*x2 >= 8.0, "ProteinRequirement" prob += 0.080*x1 + 0.100*x2 >= 6.0, "FatRequirement" prob += 0.001*x1 + 0.005*x2 <= 2.0, "FibreRequirement" prob += 0.002*x1 + 0.005*x2 <= 0.4, "SaltRequirement" # lp파일을 저장하는 코드 prob.writeLP("WhiskasModel.lp") prob.solve() # 최적해 구하기 for v in prob.variables(): print(v.name, "=", v.varValue) > BeefPercent = 66.0 > ChickenPercent = 34.0 # beef 66%, Chicken 34%가 최적 생산량 # 최적 생산량으로 생산할 때 드는 비용 print("Total Cost of Ingredients per can = ", value(prob.objective)) > Total Cost of Ingredients per can = 0.97 # beef 66%, Chicken 34%으로 생산할 때 비용 97센트
코드내 >는 결과 값입니다,,ㅎ 복붙하실 때 지워주세요
R에서 구현하는 방법이 궁금하다면
2019/05/28 - [IT] - [R] LP, 선형계획법 R에서 구현
'Study > Python' 카테고리의 다른 글
[PYTHON] 크롤링 - 크롤링 종료 (close, quit, dispose 차이 비교) (0) 2021.06.16 [PYTHON] 크롤링 - selenium 백그라운드 실행하기 (0) 2021.06.16 [PYTHON] 크롤링 - 일시정지 (sleep) (0) 2021.06.16 [python] Google Colaboratory (0) 2020.03.12 [jupyter] 주피터 노트북에 이미지 삽입 (0) 2020.02.10