lingo程序基本框架和邏輯運算符

今天算是我暑假的第一天了,lingo學習也開始進行了。
一、程序基本框架
第一部分:集合段

sets:
num/1..6/:f;
endsets

該部分在我看來等價於c++中的變量聲明,也可以在此初始化。
示例中聲明瞭一種集合(好似結構體)num,該集合有1,2,3,4,5,6共六個成員(類似於int之類的數據類型),而f是一個名爲f的num類型集合。
第二部分:數據段

data:
f=5 1 3 4 6 10;
enddata

這部分在我看來相當於c++中的複製,但不同的是,lingo中在這裏賦值後不能在之後的內容中更改。
示例中給f集合的六個成員分別賦值爲5,1,3,4,6,10。
也可以爲a,b=3,4; 那麼a,b爲整數變量
第三部分:初始段
該部分不是必須的,而且我也瞭解不詳細,以後再更新。

init:
f=5,1,2,3,4,5;
endinit

第四部分:目標與約束段
示例一:

minv=@min(num(i)|i#le#5:x);
maxv=@max(num(i)|i#gt#3:x);
END

示例二:

min=@smax(f(1),f(2),f(3));
@bnd(0,x,1.57);
END

該部分就記載你要求解的函數與約束條件。

二、邏輯運算符
#not#等價於!,即取反
#eq# 等價於==,即判斷是否相等
#ne#等價於!=
#gt# 等價於>
#ge#等價於>=
#lt#等價於<=
#le#等價於<=
#and#等價於&,即與運算
#or#等價於||,即或運算

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章