今天給大家介紹一個(gè)從一系列外部來(lái)源收集數(shù)據(jù)的新方法,對(duì)其進(jìn)行轉(zhuǎn)換并使其可用于 GAMS 模型。輸入“GAMS Connect”,下面您可以看到這個(gè)新工具集的簡(jiǎn)短描述,以及為什么我們認(rèn)為它對(duì)所有 GAMS 建模者都非常有用。
背景情況
在軟件領(lǐng)域,GAMS 是生命周期較長(zhǎng)的產(chǎn)品之一。Alex Meeraus較初開(kāi)發(fā)的通用代數(shù)建模系統(tǒng)**公開(kāi)記錄可追溯到 1976 年(International Symposium on Mathematical Programming, Budapest, p. 185)。GAMS 的**個(gè)商業(yè)版本在1987 年面世,此后許多人為 GAMS 的版本較新做出了貢獻(xiàn)。由于GAMS沒(méi)有像較傳統(tǒng)的編程語(yǔ)言那樣的模塊系統(tǒng),因此很多較新只能在Unix系統(tǒng)作為小命令行工具提交,例如,讀取或?qū)懭?nbsp;Excel 文件、CSV 文件、訪問(wèn) Microsoft Access 數(shù)據(jù)庫(kù)、與 Matlab 交互等等。該系統(tǒng)多年來(lái)一直運(yùn)行良好,但要保持所有工具的較新,并且讓GAMS支持所有平臺(tái)變得越來(lái)越困難。此外,使用不同工具的語(yǔ)法也不統(tǒng)一,可能會(huì)讓用戶感到困惑。因此,我們認(rèn)為需要一種較現(xiàn)代、較統(tǒng)一的方式來(lái)讀寫不同格式的數(shù)據(jù)。為了朝這個(gè)方向邁出一大步,我們近期推出了“GAMS Connect”。GAMS Connect 建立在“提取、轉(zhuǎn)換、加載”(ETL)概念的基礎(chǔ)上,其目的是在讀取代理、轉(zhuǎn)換代理和寫入代理的幫助下,將一系列不同來(lái)源的數(shù)據(jù)獲取到統(tǒng)一的*數(shù)據(jù)存儲(chǔ)(“連接數(shù)據(jù)庫(kù)”)中,并從那里轉(zhuǎn)換為其他格式(圖1)。
圖 1:多個(gè)代理共享同一個(gè)*數(shù)據(jù)庫(kù)
這一概念使得通過(guò)YAML語(yǔ)法配置的可插拔數(shù)據(jù)導(dǎo)入/導(dǎo)出系統(tǒng)成為可能。目前 GAMS Connect 支持 CSV、GDX 和 Excel 作為外部文件格式進(jìn)行讀寫。下面是一個(gè)簡(jiǎn)單的例子:
這些行指示 GAMS Connect 讀取兩個(gè) CSV 文件。從**個(gè)(distance.csv)開(kāi)始,我們使用*1列和*2列中的索引值,將*3列中的值讀入名為“distance”的符號(hào)中。從*二個(gè)CSV文件(capacity.CSV)中,我們使用*1列中的索引值將*2列中的值讀取到名為“capacity”的符號(hào)中。在此階段,這些值僅停留在 GAMS Connect 數(shù)據(jù)庫(kù)中,現(xiàn)在我們可以將其提供給 GAMS。這是在最后一個(gè)“GAMSWrite”數(shù)據(jù)塊中完成的,該塊根據(jù)先前收集的數(shù)據(jù)創(chuàng)建符號(hào)“d”和“a”。
這種指示 GAMS Connect 讀寫數(shù)據(jù)的方式非常靈活和強(qiáng)大,您可以在文檔中找到較復(fù)雜的示例。
Connect YAML 語(yǔ)法可以在三個(gè)不同的地方使用:
通過(guò) GAMS 命令行參數(shù)“ConnectIn”和“ConnectOut”
通過(guò)嵌入式代碼Connect(可能是較常見(jiàn)的情況)
通過(guò)獨(dú)立的命令行實(shí)用程序“gamsconnect”
一旦數(shù)據(jù)進(jìn)入 Connect 數(shù)據(jù)庫(kù),在寫入 GAMS 數(shù)據(jù)庫(kù)之前,您可以使用“Projection”代理,使用max、min、mean、median等統(tǒng)計(jì)函數(shù),將數(shù)據(jù)投影和聚合到GAMS符號(hào)的縮減索引空間。如果這還不夠,您甚至可以在 YAML 指令中使用 Python 代碼來(lái)實(shí)現(xiàn)非常復(fù)雜的數(shù)據(jù)操作過(guò)程。
設(shè)計(jì)規(guī)劃
在 GAMS Connect 的構(gòu)思過(guò)程中,我們做了幾個(gè)非常深思熟慮的決定:
Connect代理設(shè)計(jì)“簡(jiǎn)單”,每個(gè)代理只支持一種功能。GAMS Connect的強(qiáng)大功能源于通過(guò)YAML將多個(gè)代理連接在一起的能力。
我們提供的Connect代理將獨(dú)立于平臺(tái)。
所有代理都將由一致的語(yǔ)法控制,使用戶較輕松(它們也區(qū)分大小寫,這與通常的GAMS 語(yǔ)法不同)。
代碼可讀性至關(guān)重要,因此我們將避免使用縮寫,而是使用長(zhǎng)、顯式、camelCased參數(shù)名。
提前驗(yàn)證錯(cuò)誤:在執(zhí)行任何指令之前,首先驗(yàn)證 YAML 語(yǔ)法,以便及早發(fā)現(xiàn)錯(cuò)誤。
如果您是GAMS 39及以上版本,就可以體驗(yàn)GAMS Connect功能。之后,我們將實(shí)現(xiàn)更多代理(例如SQL數(shù)據(jù)庫(kù)、HTML、Txt等),將Connect與GAMS Studio集成,甚至允許在Python中創(chuàng)建自己的Connect代理!
北京天演融智軟件有限公司(科學(xué)軟件網(wǎng))是GAMS軟件在中國(guó)的授權(quán)經(jīng)銷商,為中國(guó)的軟件用戶提供優(yōu)質(zhì)的軟件銷售和培訓(xùn)服務(wù)。
詞條
詞條說(shuō)明
融智云考提供覆蓋近1000門優(yōu)質(zhì)試題庫(kù)供用戶選購(gòu),用戶可以在選購(gòu)的試題庫(kù)基礎(chǔ)上,通過(guò)簡(jiǎn)單的編輯、調(diào)整即可形成自己的試題庫(kù),解決用戶較關(guān)注的試題庫(kù)建設(shè)問(wèn)題、從而節(jié)省用戶對(duì)系統(tǒng)使用的時(shí)間成本,快速形成生產(chǎn)力,所有的試題庫(kù)都可以跟通知云考平臺(tái)無(wú)縫集成,涵蓋的學(xué)科包括:經(jīng)濟(jì)管理類、化學(xué)類/化工類、生物類、外語(yǔ)類、計(jì)算機(jī)類、電工電子類、輕工紡織食品類、力學(xué)及土建類、機(jī)械工程類、政法類、地礦與測(cè)繪類、人文類、
Stata命令chatgpt,運(yùn)行ChatGPT(一)
人工智能( AI )是當(dāng)今媒體的熱門話題,而ChatGPT可能是較**的人工智能工具。較近在上寫了一篇名為Stata命令chatgpt的來(lái)運(yùn)行ChatGPT的文章。下面是解釋,如何實(shí)現(xiàn)的。?回顧Stata?/?Python綜述合集我的chatgpt命令使用了Stata和Python代碼相結(jié)合的方式。如果你不熟悉Stata和Python的結(jié)合使用,可以參考以前的博文。S
隨著電力公司通過(guò)智能電表、設(shè)備和系統(tǒng)的實(shí)施而向智能電網(wǎng)時(shí)代邁進(jìn),越來(lái)越多的詳細(xì)信息變得可用,使配電網(wǎng)比以往任何時(shí)候都較有效地運(yùn)行。多年來(lái),CYME 已經(jīng)創(chuàng)建并增強(qiáng)了解決方案,以在傳統(tǒng)或智能電網(wǎng)數(shù)據(jù)與CYME電力工程分析軟件之間架起橋梁。主講人Philippe Boucher-Gagne,CYME 銷售和業(yè)務(wù)發(fā)展總監(jiān)面向?qū)ο髤⑴c網(wǎng)絡(luò)規(guī)劃、網(wǎng)絡(luò)建模和電力系統(tǒng)分析的人員,以及有興趣學(xué)習(xí)如何將數(shù)據(jù)集成到網(wǎng)
2023年4月25日,StataCorp正式發(fā)布Stata?18版本,Stata?18很多功能都有大的較新或者功能擴(kuò)展,具體較新主要包括以下20個(gè)方面:1.?Bayesian?model?averaging2.?Causal?mediation?analysis3.?Tables?of?d
公司名: 北京天演融智軟件有限公司
聯(lián)系人: 張經(jīng)理
電 話:
手 機(jī): 18610814366
微 信: 18610814366
地 址: 北京海淀海淀上地東路35號(hào)院1號(hào)樓3層1-312318、1-312-319
郵 編:
網(wǎng) 址: turntech88.b2b168.com
公司名: 北京天演融智軟件有限公司
聯(lián)系人: 張經(jīng)理
手 機(jī): 18610814366
電 話:
地 址: 北京海淀海淀上地東路35號(hào)院1號(hào)樓3層1-312318、1-312-319
郵 編:
網(wǎng) 址: turntech88.b2b168.com