<acronym id="pokdi"><strong id="pokdi"></strong></acronym>
      <acronym id="pokdi"><label id="pokdi"><xmp id="pokdi"></xmp></label></acronym>

      <td id="pokdi"><ruby id="pokdi"></ruby></td>
      <td id="pokdi"><option id="pokdi"></option></td>
      <td id="pokdi"></td>

        1. 教育裝備采購網
          第七屆圖書館 校體購1

          【應用實例】使用 GAMS Engine 和 GitHub Actions 進行自動化 GAMS 模型測試

          教育裝備采購網 2021-11-18 09:07 圍觀1271次

          【應用實例】使用 GAMS Engine 和 GitHub Actions 進行自動化 GAMS 模型測試

            關于GAMS

            GAMS是優化行業領先的工具提供商之一,也是首先將數學代數語言與傳統編程概念相結合的軟件系統,以便有效地描述和解決優化問題。

            GAMS為“General Algebraic Modeling Systems”的縮寫,透過簡單的操作模式,GAMS排除了許多技術性問題,讓用戶能專心于模塊的建立。其語言編輯器近似于其他常用的程序語言,讓更多的使用者能受惠于GAMS。在使用過程中,運算數據可以經由常用的表格加載、清晰的模塊架構讓用戶可以隨時重復利用之前撰寫的模塊,進行代數符號的修改。GAMS亦可以對包含時間序列的動態模塊進行運算。通用代數建模系統(GAMS)是特別為建模線性,非線性和混合整數優化問題而設計的。本系統對于大型的,復雜的問題特別有幫助.GAMS可以運行在個人計算機、工作站、大型機和超級計算機上。

          【應用實例】使用 GAMS Engine 和 GitHub Actions 進行自動化 GAMS 模型測試

          掃碼獲取軟件報價

            背景

            專業軟件開發在很大程度上依賴于測試自動化和持續集成 (CI),以確保在開發過程的早期發現錯誤。Jenkins 是首先被大量采用的開源自動化服務器,并且是 GAMS 每天使用的工具之一。借助 GitLab CI/CD 和 GitHub Actions,兩大存儲庫平臺近年來也紛紛加入了自己的持續集成產品。對于 GAMS 模型的開發人員來說,Jenkins、GitHub 和 GitLab 的 CI 功能并不容易使用,因為構建過程很難與可用于運行測試代碼的 GAMS 安裝進行通信。

            我們全新的產品GAMS Engine已經改變了這一點。GAMS Engine 提供了一個 REST API,可用于將 GAMS 任務提交和運行到一個中心位置。

          【應用實例】使用 GAMS Engine 和 GitHub Actions 進行自動化 GAMS 模型測試

            下面我們概述了 GitHub 上的任何 GAMS 模型開發人員如何輕松使用 Engine 為其模型運行自動化測試。相同的原則適用于 GitLab 和 Jenkins。

            GitHub 示例

            Prerequisites

          1. 包含您的 GAMS 模型代碼的 GitHub 存儲庫。

          2. 訪問 GAMS 引擎實例的憑據。

            它是如何完成的

            “GitHub Actions”背后的概念很簡單。簡而言之:

          • 代碼存儲庫中發生的任何事件(例如推送新提交)都可以觸發工作流

          • 一個工作流包含一個或多個作業,這些作業在稱為runners 的計算資源上執行。作業中發生的一切都在同一個運行器上順序運行,默認情況下,多個作業在多個運行器上同時運行。您可以選擇基于 Linux、Windows 或 macOS 的運行程序。GitHub 提供了相當慷慨的免費 runner時間配額,這對于大多數項目來說應該足夠了 。

          • 每個作業包含一個或多個步驟。典型的步驟可以是“將新版本從存儲庫簽出到運行器”、“編譯源代碼”、“將某些內容部署到服務器”等等。

          • 每個步驟都調用操作或執行 shell 命令。行動是實際做某事的事情。

            為了演示如何使用 Engine 為 GAMS 模型運行自動化測試,我們開發團隊的 Freddy 在https://github.com/GAMS-dev/actions創建了兩個 GitHub 操作。

          • “run-job”操作允許您在 GAMS 引擎實例上運行模型。

          • “更新模型”操作允許您在 GAMS 引擎實例上注冊或更新 GAMS 模型。這與自動化測試無關,但可用于控制 GAMS 引擎上的模型部署,不在本文討論范圍之內。我們將在另一篇文章中介紹模型部署。

            如何使用 GitHub 操作?

            要定義工作流,您必須在.github/workflows/源存儲庫中創建一個 YAML 文件。將新提交推送到存儲庫時,將運行以下工作流。它檢查對新運行器的新提交,準備模型以提交給 GAMS 引擎,然后在引擎上以僅編譯模式運行模型:

          【應用實例】使用 GAMS Engine 和 GitHub Actions 進行自動化 GAMS 模型測試

            關于可以傳遞給‘run-job’操作的參數,一些相關的解釋如下:

            你可以看到我們使用了一些形式的變量${{ secrets.xyz }}。這些變量可以以加密形式存儲在模型存儲庫 ( https://docs.github.com/en/actions/security-guides/encrypted-secrets)中。您需要將這些秘密設置為指向URL您選擇的 Engine實例的 ,并提供USERPASSWORD。

            ${{ github.workspace }}末行中使用的變量包含運行程序內的路徑,您的代碼在任務的首步中由“checkout”操作檢出。

            該參數a=c導致模型僅由 GAMS 工作人員編譯,但不會執行。這足以捕獲語法錯誤,并確保工作流快速完成。

            將此工作流文件添加到您的存儲庫并對其進行修改以適合您的模型后,每次推送到存儲庫都會觸發該模型在Engine上運行。如果模型編譯失敗,運行將失敗。

          【應用實例】使用 GAMS Engine 和 GitHub Actions 進行自動化 GAMS 模型測試

            如何運作?

            當我們的 GitHub 操作運行時會發生什么呢?解釋如下:

          1. 我們的 GAMS-dev/actions存儲庫包含每個動作的單獨元數據 YAML文件,這些文件配置動作的輸入和輸出(例如https://github.com/GAMS-dev/actions/blob/main/run-job/action。yml)。

          2. 元數據定義由 GitHub ( https://docs.github.com/en/actions/creating-actions/creating-a-javascript-action )提供的“操作工具包”讀取,它創建了一個‘index.js’ 文件。這個‘index.js’ 必須完成才能實現實際的邏輯,即使用 Engine REST API來提交和調度模型,并接收結果。

          3. 您可以在我們的存儲庫中看到的 JavaScript 代碼使用 ncc ( https://github.com/vercel/ncc )編譯成一個獨立的文件,包括所有依賴項。

            軟件訂購 

            訂購熱線: 010-56548231, 18610597626

            軟件咨詢: crystal@uone-tech.cn 

            北京友萬信息科技有限公司,英文全稱:Beijing UoneInfo&Tech Co.,Ltd (Uone-Tech),作為GAMS軟件在中國大陸的授權經銷商及合作伙伴,希望能給GAMS軟件的中國用戶提供更多服務與支持,并幫助中國用戶建立完善的軟件售后服務體系。如需申請新版本軟件試用、新版本采購及老版本更新升級請聯系我們,感謝您的支持與關注。

          【應用實例】使用 GAMS Engine 和 GitHub Actions 進行自動化 GAMS 模型測試

            專注分享商業數據分析、金融數據分析、應用統計分析、知識圖譜、機器學習、計量經濟、人工智能、網絡爬蟲、自動化報告與可重復研究等熱門技術內容。定向培養Stata、Python、R語言數據人才,助力產學研政企商協同發展,為中國大數據產業蓄能。合作熱線:010-56548231 郵箱:info@uone-tech.cn。

          點擊進入北京友萬信息科技有限公司展臺查看更多 來源:教育裝備采購網 作者:北京友萬信息科技有限公司 責任編輯:張肖 我要投稿
          校體購終極頁

          相關閱讀

          • 【軟件更新】GAMS 42版本更新啦!

            【軟件更新】GAMS 42版本更新啦!
            教育裝備采購網04-11
            2023年GAMS42新版本更新,接下來讓我們看一下更新的主要內容:42.1.0主要版本我們要感謝所有報告問題并提出改進此版本建議的用戶。我們特別感謝Wolfga...
          • 【GAMS實際案例】使用 GAMS 為歐盟建模交通碳強度目標

            【GAMS實際案例】使用 GAMS 為歐盟建模交通碳強度目標
            教育裝備采購網04-04
            軟件簡介GAMS為“GeneralAlgebraicModelingSystems”的縮寫,透過簡單的操作模式,GAMS排除了許多技術性問題,讓用戶能專心于模塊的建立。其語言編輯器...
          • 江蘇海事職業技術學院船舶學院成功舉辦2020年機械制造與自動化專業人才培養方案評審會
            中國高校之窗10-20
            10月16日下午,江蘇海事職業技術學院船舶與海洋工程學院在敏行樓201會議室召開了機械制造與自動化專業共建共管委員會會議,南京工業職業技術大學工程技術實訓中心主任、全國人大代表、教授王紅軍...
          • GAMS軟件電力能源專題視頻課程免費申請
            教育裝備采購網09-04
            通用代數建模系統(GAMS)是數學編程和優化的高級建模系統。它由一個語言編譯器和一個穩定的集成各種高性能的求解器組成。GAMS適用于復雜的、大規模的建模應用,并允許您創建大的維護模型以很快...
          • GAMS 31.1.1 版本更新啦 !

            GAMS 31.1.1 版本更新啦 !
            教育裝備采購網06-03
            GAMSSoftwareGmbH于2020年5月1日發布了GAMS31.1.0版本,新的版本將不再支持32位MSWindows,具體更新內容如下:GAMS系統?擴展了modelstatement的語法,...
          • GAMS優化軟件電力能源免費專題直播培訓
            教育裝備采購網02-21
            通用代數建模系統(GAMS)是數學編程和優化的高級建模系統。它由一個語言編譯器和一個穩定的集成各種高性能的求解器組成。GAMS適用于復雜的、大規模的建模應用,并允許您創建大的維護模型以很快...
          • Q-Automation ATX 自動化測試解決方案

            Q-Automation ATX 自動化測試解決方案
            教育裝備采購網12-24
            基于ATX的自動化測試管理軟件,用于測試電子控制單元(ECU)。ASAMAutomotiveTestExchange(ATX)是一種標準化的XML格式的描述語言,用于在不同的測試系統...
          • GAMS支持的模型類型

            GAMS支持的模型類型
            教育裝備采購網08-16
            GAMS支持的模型類型GAMS能夠以多種不同的問題分類類型來公式化模型。這意味著從一個模型類型跳轉到另一個將毫不費力。您甚至能夠同時在不同的模型類型...

          版權與免責聲明:

          ① 凡本網注明"來源:教育裝備采購網"的所有作品,版權均屬于教育裝備采購網,未經本網授權不得轉載、摘編或利用其它方式使用。已獲本網授權的作品,應在授權范圍內使用,并注明"來源:教育裝備采購網"。違者本網將追究相關法律責任。

          ② 本網凡注明"來源:XXX(非本網)"的作品,均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責,且不承擔此類作品侵權行為的直接責任及連帶責任。如其他媒體、網站或個人從本網下載使用,必須保留本網注明的"稿件來源",并自負版權等法律責任。

          ③ 如涉及作品內容、版權等問題,請在作品發表之日起兩周內與本網聯系,否則視為放棄相關權利。

          校體購產品
          99久久国产自偷自偷免费一区|91久久精品无码一区|国语自产精品视频在线区|伊人久久大香线蕉av综合

            <acronym id="pokdi"><strong id="pokdi"></strong></acronym>
              <acronym id="pokdi"><label id="pokdi"><xmp id="pokdi"></xmp></label></acronym>

              <td id="pokdi"><ruby id="pokdi"></ruby></td>
              <td id="pokdi"><option id="pokdi"></option></td>
              <td id="pokdi"></td>