개요
과제 수행 날짜 : 2021.11.19
과제 개요 : '스타듀밸리'에서 효율적으로 농사를 짓기 위해 엑셀을 이용하여 의사 결정
‘스타듀밸리’란 농사를 짓고 게임 내 NPC들과 호감도를 쌓아가는 게임이다. 그래서 스타듀밸리 유저들의 주목적은 농작물을 팔아서 많은 돈을 버는 것이다. 이 게임은 1년차 봄부터 시작되며, 제한된 땅과 돈을 제공한다. 따라서 유저들은 수많은 작물들을 조합하여 어떤 조합이 가장 높은 수익을 얻을 수 있을지를 고민해야 한다.
스타듀밸리에 대한 간략한 설명을 하자면, 스타듀밸리에서는 4개의 계절이 있으며, 30일이 지나면 다음 계절로 넘어간다. 그렇게 봄부터 시작하여 겨울이 지나면 1년이 지나게 된다. 각 계절마다 키울 수 있는 작물이 다르고 각 작물들은 구매가, 판매가, 수확 시기 등의 특징이 다르다. 따라서 각 작물들의 특징을 고려하여 가장 많은 수익을 낼 수 있는 조합을 찾아내고자 한다.
데이터
스타듀밸리에서 봄에 수확할 수 있는 작물들에 대한 상세 정보
구매가 | 판매가 | 소요 시간(일) | |
콜리플라워 | 80 | 175 | 12 |
감자 | 50 | 80 | 6 |
케일 | 70 | 110 | 6 |
파스닙 | 20 | 35 | 4 |
튤립 | 20 | 30 | 6 |
푸른 재즈 | 30 | 50 | 7 |
제약조건
① 칸 제약 : 작물을 심을 수 있는 칸은 250칸 이상 300칸 이하로 제한한다.
② 구매가 제약 : 구매가는 12000 골드를 넘지 않도록 한다.
③ 가중치 제약 : 각 작물은 가중치를 가지는데, 각 작물이 1) 퀘스트에 사용되는 횟수와 그 작물을 키우는 데 드는 2) 노동의 횟수를 고려하여 가중치를 갖는다.
1) 퀘스트에 사용되는 횟수
파스닙, 콜리플라워, 감자가 필요 | 파스닙이 필요 |
퀘스트에서 2번 필요한 파스닙은 10, 1번 필요한 콜리플라워와 감자는 5의 가중치를 갖는다.
2) 노동의 횟수
노동 횟수는 30일 기준으로 작물을 다시 심어야 하는 횟수이다.
예를 들어 콜리플라워는 12일이 지나면 수확할 수 있으므로 30일 동안 2번을 심어야 하고, 감자의 경우 6일이 걸리므로 5번을 심어야 한다. 즉, 콜리플라워의 노동 횟수는 2, 감자의 노동 횟수는 5이다.
위의 가중치를 고려하여 각 작물이 텃밭 내에서 차지해야 할 최소 비율을 계산한다.
각 작물이 차지해야 할 최소 비율 = 0.01 * (10 - 노동 횟수 + 퀘스트 중요도)
값 보정 상수 | 이유 | ||
0.01 | 모든 작물이 주민들의 요청 또는 선물과 같은 퀘스트에 사용되기 때문에 최소한의 비율은 키워야 하므로 최소 비율을 설정했다. | ||
10 | 노동 횟수와 중요도로 가중치를 계산할 때 값이 0이 나오지 않도록 하기 위해 임의로 지정했다. |
결과 분석
판매가가 최대가 되는 조합을 계산하기 위해 최대화 혼합형 정수 선형 계획법을 사용하여 분석하였다.
의사결정변수는 각 작물의 수량이며, 제약조건에는 칸 제약, 구매가 제약, 가중치 제약이 있다. 또한 작물의 개수는 정수여야하므로 수량이 정수라는 조건도 추가하였다.
해찾기 수행 결과, 위의 결과가 도출되었다. 각 작물의 수량은 최소 비율에 따른 개수보다 많거나 같고, 사용된 칸 수도 250칸이며, 구매가도 12000 골드를 넘지 않았으므로 제약 조건을 충족했다. 제약 조건을 충족하며 도출된 최대 판매가는 23685 골드임을 알 수 있다. 즉, 콜리플라워부터 각각 90, 25, 14, 93, 13, 15개를 심는 경우에 판매가가 가장 높다.
정리
위의 과제는 특정 작물을 심었던 자리에는 그 작물만 다시 심는다고 가정하였다. 따라서 특정 경우에는 손해를 볼 수 있는데, 예를 들어 콜리플라워를 심은 자리에 수확 시기가 빠른 다른 작물도 심을 수 있다면 더 큰 수익을 낼 수 있다. 콜리플라워는 12일 간격으로 재배가 가능하기 때문에 30일 기준으로 6일이 남게 되고, 그 시간 동안 다른 작물을 심는다면 그만큼의 수익을 더 낼 수 있게 된다. 하지만 본 과제는 그러한 경우를 고려하지 않았기 때문에 최대한의 수익을 계산할 수 없다는 한계점이 있다.
게임에서의 농사를 다루기 때문에 가중치를 계산할 때 퀘스트에 사용되는지에 대한 여부를 고려했지만, 현실에서의 농사에 이 과제를 활용한다면 개인의 선호도 등으로 변경하여 계산할 수 있을 것이다. 물론 게임과 달리 현실에서는 작물의 수확 시기가 일정하지 않으며, 씨앗의 구매가, 작물의 판매가도 때에 따라 다르기 때문에 정확한 결과는 도출할 수 없다. 하지만 가뭄이나 태풍 등의 특수한 경우가 아니라는 가정 하에, 평균치로 계산한다면 대략적인 의사결정에 도움을 줄 수 있을 것이라고 생각한다.
'프로젝트 & 과제 > 4학년' 카테고리의 다른 글
나노디그리 - 자연어 처리 (0) | 2022.02.11 |
---|