日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GAMS系列分享3-GAMS基础知识-集合

發布時間:2024/3/26 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GAMS系列分享3-GAMS基础知识-集合 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? 重點是集合的概念,順便提一下gams的基本數據類型(注意parameter),一兩分鐘讀一讀相信對你會有點好處。里面有對電力系統對集合概念應用的例子,及本人對集合概念的理解。

目錄

0 基本的數據類型(注意一下(parameter).)

1,單維集合

2,多維集合

3,動態集合(至今我也用過)


?

0 ,GAMS基本的數據類型(注意一下(parameter).)

1 set

2 parameter? 又包含了table 和scalar **(重點呀),原來以為table,也是數據類型,原來只是parameter的子類,方便程序書寫的。

3variable

4 equation

5 model

6 acronyms(這個我也沒用過)? ,(這個是縮寫數據類型,允許字符串作為值)

?

集合在?GAMS程序編寫中很重要,其實在建立模型的時候,已經把集合給定義好了。針對集合的概念,主要掌握兩點 就行了。

1,單維集合

? ? ? ?按我自己的理解,就是集合就是一類東西。具有相同屬性的東西。

? ? ? 不如說學生,都具有身高,體重,學習成績,年級等屬性。所以說學生可以是集合。另外,學生成績包含,語文成績,數學成績,英語成績,這類成績又可以定義集合。

? ? ? 要明白為啥定義集合:集合就是為了編程方便,給這類事物只要寫一個方程就可以了。

? ? ?其實不定義集合,來編程也是可以的,只是麻煩罷了。

? ? 針對電力系統:集合主要包含母線集合,線路集合,發電機集合,時間集合(多時段優化時用到)。

2,多維集合

? ? 為啥要定義多維集合,當然是單維集合不夠用了唄。

? ?多維集合就是提供原來已經定義集合之間的映射關系的。

? ? 比如某模型,已經定義了國家集合,和港口集合。國家集合和港口集合都具有各自的屬性。

? ? 為了建立國家和港口之間的聯系,就需要將兩個集合聯系起來,因此建立了二維集合。

?

電力系統中也有多維集合的例子。比如已經建立了母線集合和發電機集合,還可以建立這兩個集合的連接關系。

天然氣系統中,管道和節點的關系,也是多維集合來描述的。

在我實際的編程中,為了對天然氣管道集合進行描述建立了四維集合。這個對初學者可能不太容易理解,在以后的學習中加強理解。多維結合非常有用!!!!

Pnm(a,gn,gm,gnn) ?arc description; ?

3,動態集合(至今我也用過)

? ? ?動態集合,還沒具體使用過,以后用到了對此部分再進行更新。

4 集合的多重命

? ? ? 電力系統中的應用,alias(bus,node);將母線集合有兩個名稱,也很重要了!!!!我的感覺就是對一個集合有多重索引的能力。

5 子集合范圍檢測

?一個大的集合,可能包含小的集合。在對子集進行定義的時候為了避免出錯,gams可以自動的進行范圍檢查。

? ?bus? ? ?/1*4/

? slack(bus)? ?/1/

?上述定義是正確的,

如果? slack(bus)? ?/5/就是錯誤的,

?

因為slack是bus的子集,但是slack包含了'5',而bus不包含‘5’

?

?

?

歡迎查看GAMS在電力系統應用系列分享文章。(手動碼的有錯誤的大家多多包含)

歡迎查看GAMS在電力系統應用系列分享文章。(手動碼的有錯誤的大家多多包含)

歡迎查看GAMS在電力系統應用系列分享文章。(手動碼的有錯誤的大家多多包含)

?

? ?

總結

以上是生活随笔為你收集整理的GAMS系列分享3-GAMS基础知识-集合的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。