최신 GAMS 교육 - 슬롯 무료체험 강의실을 통한 GAMS

게시일: 2023년 8월 10일

저자 소개
Christophe Gouel은 INRAE의 학술 경제학자이자 선임 연구원입니다.파리-사클리 응용경제학연구 유닛.

이메일: christophe.gouel@inrae.fr


현대적인 도구와 효율적인 채점을 통해 GAMS 모델링 클래스를 혁신할 준비가 되셨습니까? 이번 블로그 게시물에서는 제가 최근에 워크플로를 어떻게 조정했는지 보여드리겠습니다.

일반 평형 모델링에 관한 석사 과정의 교사로서 저는 학생들이 해당 주제를 숙달하기 위한 연습의 중요성을 알고 있습니다. 나는 학생들에게 많은 연습문제를 제공하는데, 그중 일부는 수업 중에 내 도움을 받아 수행하고 다른 일부는 스스로 수행하여 채점을 위해 제출합니다. 하지만 매 회기마다 20개가 넘는 프로그램을 받아 확인하는 것은 부담스러운 일이었습니다. 이 블로그 게시물에서는 이 두려운 작업을 어떻게 간소화되고 효율적인 프로세스로 전환했는지 보여 드리겠습니다.

이를 달성하기 위해 나는 다음을 사용합니다.슬롯 무료체험 교실은 교사가 슬롯 무료체험 저장소를 사용하여 과제를 관리할 수 있도록 슬롯 무료체험에서 제공하는 무료 서비스입니다. 나도 사용한다슬롯 무료체험의 지속적인 통합 워크플로GAMS 프로그램 실행을 자동화하고클라우드 기반 개발 도구피드백 제공을 위해.

이를 구체적으로 만들기 위해 저는 수업에서 예시로 사용하는 입문 연습이 포함된 공개 저장소를 만들었습니다. 여기에서 찾을 수 있습니다:https://슬롯 무료체험com/economic-modeling-master/partial-eq-1-sector .

슬롯 무료체험 강의실

슬롯 무료체험 Classroom을 사용하면 모든 과제를 관리할 수 있고 각 수업, 과제 및 학생 저장소를 표시하는 대시보드에 액세스할 수 있습니다. 과제를 보내면 학생들에게 솔루션을 제출할 수 있도록 대상 저장소에서 복사된 저장소를 생성하는 링크가 제공됩니다. 슬롯 무료체험 Classroom을 사용하면 교사가 특정 과제에 대한 모든 학생의 저장소를 확인하고 마감일 이전에 과제를 제출했는지 확인할 수 있으므로 과제 채점을 더욱 효율적으로 수행할 수 있습니다. 과제는 개별적으로 또는 그룹별로 수행할 수 있으며 후자의 경우 그룹당 하나의 저장소가 생성됩니다.

학생의 관점에서 GitHub Classroom을 사용하려면 GitHub 계정만 필요하며 슬롯 무료체험에 대한 설치나 지식은 필요하지 않습니다. 슬롯 무료체험을 사용하지 않고도 다른 웹사이트에서처럼 파일을 수동으로 업로드하기만 하면 과제를 제출할 수 있으며, 이 경우 커밋이 자동으로 생성됩니다. 따라서 컴퓨터 과학 수업에만 국한되지 않고 GAMS를 배울 수 있는 실력을 갖춘 학생들도 문제 없이 사용할 수 있습니다.

슬롯 무료체험 클래스룸에는 채점을 자동화하는 기능이 포함되어 있습니다. 예를 들어 학생 코드에 대해 단위 테스트를 실행하지만 이는 GAMS 프로그램에 적합하지 않은 것 같습니다. 하지만 저는 학생들의 솔루션 실행을 자동화하기 위해 유사한 도구를 구축하고 있습니다.

학생 솔루션 자동 실행

모든 학생들이 각자의 저장소에 솔루션을 커밋한 후에는 슬롯 무료체험의 지속적인 통합 워크플로를 사용하여 수동으로 수행할 필요 없이 모든 GAMS 프로그램을 실행합니다. 각 학생이 커밋한 후에는 새로운 GAMS 설치로 가상 머신이 실행되어 모두 실행됩니다..gms파일이 저장소에 있습니다. 출력 파일(gdx, 로그lst)는 다음 gif에 표시된 대로 확인할 수 있도록 zip 파일에 저장됩니다.

내 슬롯 무료체험 워크플로

만약 그들이gms파일이 컴파일되지 않고 녹색 확인 표시() 컴파일을 의미하며 빨간색 십자 표시(❌)가 있습니다. 이 경우 실수를 찾기 위해 코드를 확인해야 한다는 것을 알고 있으며 클라우드 기반 개발 도구를 사용하여 클라우드에서도 이를 수행할 수 있습니다.

GAMS의 자동 실행은 각 저장소에 올바른 지침이 포함된 YAML 파일이 있으면 트리거됩니다. 이러한 YAML 파일의 예는 다음에서 찾을 수 있습니다.workflow.yml, 공식을 활용함GAMS 도커 이미지, GAMS 44에서 사용할 수 있게 되었습니다.

workflow.yml에 대한 자세한 내용을 보려면 클릭하세요.
이름: GAMS를 사용한 테스트 모델 솔루션

켜짐: [푸시]
일자리:
  빌드:
    실행 중: 우분투-슬롯 무료체험
    컨테이너: 게임/게임:슬롯 무료체험
    걸음:
      - 이름: 체크아웃
        사용: actions/checkout@v3
      - 이름: GAMS 실행
        실행: |
cd $GITHUB_WORKSPACE*.gms의 gmsfile용gams "$gmsfile" lo=4 gdx="$gmsfile/.gms/"cat "$gmsfile/gms/lst"완료
        : 배쉬
      - 이름: 보관 결과
        사용: actions/upload-artifact@v3
        함께:
          이름: gams-결과-파일
          경로: |
./*.lst./*.log./*.gdx

학생 오류 수정 및 피드백 제공

학생의 코드에 오류가 있을 경우 슬롯 무료체험의 Pull Request 인터페이스를 사용하여 해결책을 제안하고 피드백을 제공합니다. Pull Request 인터페이스를 사용하면 코드에 한 줄씩 주석을 달 수 있어 사소한 오류를 수정하는 데 적합합니다.

풀 요청에 의한 피드백

더 복잡한 오류의 경우 코드를 변경하고 GAMS를 실행하여 새로운 솔루션을 확인해야 할 수도 있습니다. 수정된 버전을 다시 업로드하기 전에 코드를 다운로드하여 내 컴퓨터에서 수정할 수 있지만 이로 인해 많은 마찰이 발생합니다. 대신에 나는 의지하고 있습니다.코드스페이스클라우드에서 가상 머신을 시작할 수 있게 해줍니다. GAMS를 자동으로 실행한 이전 가상 머신과의 차이점은 Codespaces가 편집기(웹용 Visual Studio Code), GAMS를 실행하기 위한 터미널, 수정 사항을 푸시백하기 위한 원래 저장소에 대한 링크가 포함된 영구 머신을 제공한다는 것입니다(아래 gif에서는 Codespaces를 설정하는 데 약 2분이 소요되며 그 동안 채점을 위해 다른 프로젝트로 이동한다고 제안하는 것과는 대조적입니다).

codespaces에서 파일 편집

라이센스를 어떻게 처리합니까?

GAMS를 실행하려면 라이선스가 필요합니다. 하지만,GAMS 버전 44.0, 데모 라이센스가 GAMS 배포판에 다시 포함되어 있습니다. 약 5개월 동안 유효하며, 슬롯 무료체험 GAMS 배포판을 사용하는 한 빈번한 GAMS 릴리스를 고려하면 충분합니다. 학생들이 데모 라이센스를 사용하여 작은 모델을 풀어야 하는 이 수업의 목적에 맞게한계가 있음일반적으로 충분하지만 모든 사람에게 해당되는 것은 아닙니다. 이러한 경우 커뮤니티 라이센스를 얻을 수 있는 옵션도 있습니다(자세한 내용은 참조)이 페이지), 더 큰 문제를 해결할 수 있으며 학생들에게 무료로 제공됩니다.

라이센스 파일을 사용해야 한다면 적어도 두 가지 접근 방식을 볼 수 있습니다. 첫 번째는 각 할당 저장소에 라이센스 파일을 저장하고 가상 머신의 GAMS가 설치된 위치로 자동으로 이동하는 것입니다. 내 수업의 경우 연습용 저장소가 모두 비공개 저장소이므로 라이선스는 수업 외부에서 공유되지 않으며 매년 GAMS에서는 학생들을 위한 임시 교육 라이선스를 제공합니다. 공개 프로젝트의 경우 이러한 방식으로 라이센스 파일을 저장하는 것은 옵션이 아닙니다. 이 경우 라이센스는 a에 저장될 수 있습니다.슬롯 무료체험 비밀설치 후 GAMS 폴더에 복사되었습니다.

추가 혜택

이 설정에서는 학생들이 슬롯 무료체험 사용 방법을 배울 필요가 없더라도 GitHub, Markdown, 지속적인 통합 및 클라우드 개발과 같은 최신 개발 도구에 익숙해지는 이점이 있습니다. 학계 안팎의 모델러에게 유용할 수 있는 모든 기술입니다.

이 접근 방식의 또 다른 이점은 확장이 가능하다는 것입니다. 100명의 학생들과 함께 수업을 운영하는 것은 이보다 더 어렵지 않을 것입니다. 슬롯 무료체험 Classroom에 대한 교사의 액세스 권한을 일부 작업을 담당하는 조교와 공유할 수 있습니다.

결론적으로, 슬롯 무료체험 도구를 사용하면 GAMS 모델링을 가르치는 방식을 변화시키고 채점을 더욱 효율적으로 만들고 부분적으로 자동화할 수 있습니다.