今天給大家介紹一個從一系列外部來源收集數(shù)據(jù)的新方法,對其進(jìn)行轉(zhuǎn)換并使其可用于 GAMS 模型。輸入“GAMS Connect”,下面您可以看到這個新工具集的簡短描述,以及為什么我們認(rèn)為它對所有 GAMS 建模者都非常有用。
背景情況
在軟件領(lǐng)域,GAMS 是生命周期較長的產(chǎn)品之一。Alex Meeraus較初開發(fā)的通用代數(shù)建模系統(tǒng)**公開記錄可追溯到 1976 年(International Symposium on Mathematical Programming, Budapest, p. 185)。GAMS 的**個商業(yè)版本在1987 年面世,此后許多人為 GAMS 的版本較新做出了貢獻(xiàn)。由于GAMS沒有像較傳統(tǒng)的編程語言那樣的模塊系統(tǒng),因此很多較新只能在Unix系統(tǒng)作為小命令行工具提交,例如,讀取或?qū)懭?nbsp;Excel 文件、CSV 文件、訪問 Microsoft Access 數(shù)據(jù)庫、與 Matlab 交互等等。該系統(tǒng)多年來一直運(yùn)行良好,但要保持所有工具的較新,并且讓GAMS支持所有平臺變得越來越困難。此外,使用不同工具的語法也不統(tǒng)一,可能會讓用戶感到困惑。因此,我們認(rèn)為需要一種較現(xiàn)代、較統(tǒng)一的方式來讀寫不同格式的數(shù)據(jù)。為了朝這個方向邁出一大步,我們近期推出了“GAMS Connect”。GAMS Connect 建立在“提取、轉(zhuǎn)換、加載”(ETL)概念的基礎(chǔ)上,其目的是在讀取代理、轉(zhuǎn)換代理和寫入代理的幫助下,將一系列不同來源的數(shù)據(jù)獲取到統(tǒng)一的*數(shù)據(jù)存儲(“連接數(shù)據(jù)庫”)中,并從那里轉(zhuǎn)換為其他格式(圖1)。
圖 1:多個代理共享同一個*數(shù)據(jù)庫
這一概念使得通過YAML語法配置的可插拔數(shù)據(jù)導(dǎo)入/導(dǎo)出系統(tǒng)成為可能。目前 GAMS Connect 支持 CSV、GDX 和 Excel 作為外部文件格式進(jìn)行讀寫。下面是一個簡單的例子:
這些行指示 GAMS Connect 讀取兩個 CSV 文件。從**個(distance.csv)開始,我們使用*1列和*2列中的索引值,將*3列中的值讀入名為“distance”的符號中。從*二個CSV文件(capacity.CSV)中,我們使用*1列中的索引值將*2列中的值讀取到名為“capacity”的符號中。在此階段,這些值僅停留在 GAMS Connect 數(shù)據(jù)庫中,現(xiàn)在我們可以將其提供給 GAMS。這是在最后一個“GAMSWrite”數(shù)據(jù)塊中完成的,該塊根據(jù)先前收集的數(shù)據(jù)創(chuàng)建符號“d”和“a”。
這種指示 GAMS Connect 讀寫數(shù)據(jù)的方式非常靈活和強(qiáng)大,您可以在文檔中找到較復(fù)雜的示例。
Connect YAML 語法可以在三個不同的地方使用:
通過 GAMS 命令行參數(shù)“ConnectIn”和“ConnectOut”
通過嵌入式代碼Connect(可能是較常見的情況)
通過獨立的命令行實用程序“gamsconnect”
一旦數(shù)據(jù)進(jìn)入 Connect 數(shù)據(jù)庫,在寫入 GAMS 數(shù)據(jù)庫之前,您可以使用“Projection”代理,使用max、min、mean、median等統(tǒng)計函數(shù),將數(shù)據(jù)投影和聚合到GAMS符號的縮減索引空間。如果這還不夠,您甚至可以在 YAML 指令中使用 Python 代碼來實現(xiàn)非常復(fù)雜的數(shù)據(jù)操作過程。
設(shè)計規(guī)劃
在 GAMS Connect 的構(gòu)思過程中,我們做了幾個非常深思熟慮的決定:
Connect代理設(shè)計“簡單”,每個代理只支持一種功能。GAMS Connect的強(qiáng)大功能源于通過YAML將多個代理連接在一起的能力。
我們提供的Connect代理將獨立于平臺。
所有代理都將由一致的語法控制,使用戶較輕松(它們也區(qū)分大小寫,這與通常的GAMS 語法不同)。
代碼可讀性至關(guān)重要,因此我們將避免使用縮寫,而是使用長、顯式、camelCased參數(shù)名。
提前驗證錯誤:在執(zhí)行任何指令之前,首先驗證 YAML 語法,以便及早發(fā)現(xiàn)錯誤。
如果您是GAMS 39及以上版本,就可以體驗GAMS Connect功能。之后,我們將實現(xiàn)更多代理(例如SQL數(shù)據(jù)庫、HTML、Txt等),將Connect與GAMS Studio集成,甚至允許在Python中創(chuàng)建自己的Connect代理!
北京天演融智軟件有限公司(科學(xué)軟件網(wǎng))是GAMS軟件在中國的授權(quán)經(jīng)銷商,為中國的軟件用戶提供優(yōu)質(zhì)的軟件銷售和培訓(xùn)服務(wù)。
詞條
詞條說明
Stata是一個完整的、集成的軟件包,它提供了所有數(shù)據(jù)科學(xué)所需的數(shù)據(jù)操作、可視化、統(tǒng)計和自動化報告功能。為了讓大家較好的掌握Stata軟件,StataCorp LLC為大家安排了一系列免費的在線培訓(xùn)。Tips & tricks培訓(xùn)時間:?30?March?2022,?10:00?AM?CT? ? ?
PSCAD由加拿大Manitoba Hydro International開發(fā)的PSCAD/EMTDC是****行的暫態(tài)分析軟件包,該軟件主要用來研究電力系統(tǒng)的暫態(tài)過程,同時也適用于一般電氣電子線路以及可等價地用電路來描述系統(tǒng)的仿真分析,PSCAD(Power System Computer Aided Design)是圖形界面,EMTDC(Electro Magnetic Transients
版本較新 | Hydro GeoAnalyst 13.0正式發(fā)布
2024年8月28日,Hydro GeoAnalyst 13.0正式發(fā)布,這是軟件應(yīng)用程序的較新版本,專門為從事水文地質(zhì)、地球化學(xué)或環(huán)境項目的人員用來管理、分析和報告環(huán)境數(shù)據(jù)而設(shè)計。此版本引入了新功能,并采納了客戶對改進(jìn)的反饋,使HGA的標(biāo)準(zhǔn)版和增強(qiáng)版HGA+都較加完善。HGA改進(jìn)HGA v13包括以下改進(jìn):Interval Validator新的Interval Validator模塊允許檢查間
好課免費享|統(tǒng)計與質(zhì)量工具M(jìn)initab軟件應(yīng)用課程
Minitab軟件是現(xiàn)代質(zhì)量管理統(tǒng)計的良好者,**六西格瑪實施的共同語言,以無可比擬的強(qiáng)大功能和簡易的可視化操作深受廣大質(zhì)量學(xué)者和統(tǒng)計*的青睞。Minitab 軟件可以提供統(tǒng)計分析、可視化分析、預(yù)測式分析和改進(jìn)分析來支持?jǐn)?shù)據(jù)驅(qū)動型決策。?北京天演融智軟件有限公司(科學(xué)軟件網(wǎng))作為是Minitab軟件在中國的教育總代,在2020年上半年為大家安排了《統(tǒng)計與質(zhì)量工具M(jìn)initab軟件應(yīng)用直
公司名: 北京天演融智軟件有限公司
聯(lián)系人: 王經(jīng)理
電 話: 4008104001
手 機(jī): 18510103847
微 信: 18510103847
地 址: 北京海淀北京市海淀區(qū)上地東路35號院1號樓3層1-312-318、1-312-319
郵 編:
網(wǎng) 址: turntech8843.b2b168.com
公司名: 北京天演融智軟件有限公司
聯(lián)系人: 王經(jīng)理
手 機(jī): 18510103847
電 話: 4008104001
地 址: 北京海淀北京市海淀區(qū)上地東路35號院1號樓3層1-312-318、1-312-319
郵 編:
網(wǎng) 址: turntech8843.b2b168.com
智能云閱卷機(jī) 高速閱讀機(jī) 讀卡機(jī)怎么識別答題卡
¥13800.00