【數(shù)學(xué)建模算法】(番外4)解決規(guī)劃問(wèn)題的神器——Lingo(下)

今天我們將用幾個(gè)綜合實(shí)例來(lái)實(shí)踐Lingo。

例1 求解非線性方程組
\left\{\begin{array}{l}{x^{2}+y^{2}=1} \\ {2 x^{2}+x+y^{2}+y=4}\end{array}\right.

規(guī)劃問(wèn)題本來(lái)就是給出優(yōu)化條件限制條件嚎于,之后得出滿足條件的自變量的過(guò)程掘而。那么它自然可以解決非線性方程問(wèn)題挟冠,那么只需給出一個(gè)可以增加運(yùn)算速度定一個(gè)初始點(diǎn),再給出限制條件镣屹,就可以解出來(lái)了圃郊。

model:
INIT:
x=1;y=1;
ENDINIT
x^2+y^2=2;
2*x^2+x+y^2+y=4;
end

輸出結(jié)果

Variable           Value
X       0.4543344
Y        1.339246

Row    Slack or Surplus
1      -0.3647994E-06
2      -0.7985587E-06

例2 (裝配線平衡模型)一條裝配線含有一系列的工作站价涝,在最終產(chǎn)品的加工過(guò)程中每個(gè)工作站執(zhí)行一種或幾種特定的任務(wù)女蜈。裝配線周期是指所有工作站完成分配給它們各自的任務(wù)所花費(fèi)時(shí)間中的最大值。平衡裝配線的目標(biāo)是為每個(gè)工作站分配加工任務(wù)色瘩,盡可能使每個(gè)工作站執(zhí)行相同數(shù)量的任務(wù)伪窖,其最終標(biāo)準(zhǔn)是裝配線周期最短。不適當(dāng)
的平衡裝配線將會(huì)產(chǎn)生瓶頸——有較少任務(wù)的工作站將被迫等待其前面分配了較多任務(wù)的工作站居兆。
問(wèn)題會(huì)因?yàn)楸姸嗳蝿?wù)間存在優(yōu)先關(guān)系而變得更復(fù)雜覆山,任務(wù)的分配必須服從這種優(yōu)先關(guān)系。
這個(gè)模型的目標(biāo)是最小化裝配線周期泥栖。有 2 類(lèi)約束:
① 要保證每件任務(wù)只能也必須分配至一個(gè)工作站來(lái)加工簇宽;
② 要保證滿足任務(wù)間的所有優(yōu)先關(guān)系。

任務(wù) A B C D E
時(shí)間 45 11 9 50 15
F G H I J K
12 12 12 12 8 9

下面是任務(wù)流程圖吧享。


任務(wù)流程圖

編寫(xiě)Lingo程序:

MODEL:
!裝配線平衡模型;
SETS:
!任務(wù)集合魏割,有一個(gè)完成時(shí)間屬性T;
TASK/ A B C D E F G H I J K/:T;
!人物之間的有限關(guān)系集合(A必須完成才能開(kāi)始B,等等);
PRED(TASK,TASK)/A,B B,C C,F C,G F,J G,J 
J,K D,E E,H E,I H,J I,J/;
!工作站集合;
STATION/1..4/;
TXS(TASK,STATION):X;
!X是派生集合TXS的一個(gè)屬性钢颂,如果(X(I,K)=1)钞它,則表示第I個(gè)任務(wù)
交給第K個(gè)工作站完成。;
ENDSETS

DATA:
!任務(wù)A,B,C,D,E,F,G,H,I,J,K完成的時(shí)間如下;
T=45 11 9 50 15 12 12 12 12 8 9;
ENDDATA
!每一個(gè)作業(yè)只能指派給一個(gè)工作站;
@FOR(TASK(I):@SUM(STATION(K):X(I,K))=1);
!對(duì)于每一個(gè)存在優(yōu)先關(guān)系的作業(yè)對(duì)來(lái)說(shuō)殊鞭,前者對(duì)應(yīng)的工作站I必須小于后者對(duì)應(yīng)的工作站J,保持先后分配關(guān)系;
@FOR(PRED(I,J):@SUM(STATION(K):X(I,K)-X(J,K))>=0);
!對(duì)于每一個(gè)工作站來(lái)說(shuō)遭垛,其花費(fèi)時(shí)間必須不大于裝配線周期;
@FOR(STATION(K): @SUM(TXS(I,K):T(I)*X(I,K))<=CYCTIME);
!目標(biāo)函數(shù)是最小化轉(zhuǎn)配線周期;
MIN = CYCTIME;
!指定 X(I,J) 為 0/1 變量;

例3 旅行售貨員問(wèn)題(又稱貨郎擔(dān)問(wèn)題,Traveling Salesman Problem)
有一個(gè)推銷(xiāo)員操灿,從城市 1 出發(fā)锯仪,要遍訪城市 2,3趾盐,…卵酪, n 各一次,最后返回城市 1谤碳。已知從城市ij的旅費(fèi)為c_{i j}溃卡,問(wèn)他應(yīng)按怎樣的次序訪問(wèn)這些城市,使得總旅費(fèi)最少蜒简。

可以用多種方法把 TSP 表示成整數(shù)規(guī)劃模型瘸羡。這里介紹的一種建立模型的方法,是把該問(wèn)題的每個(gè)解(不一定是最優(yōu)的)看作是一次“巡回”搓茬。

引入0-1整數(shù)變量犹赖。
x_{i j}=\left\{\begin{array}{l}{1} 队他,巡回路線是從i到j(luò),且i \ne j\\ {0},其他情況\end{array}\right.
其目標(biāo)是為了讓\sum_{i=j} c_{i j} x_{i j}最小
這里有兩個(gè)明顯的必須滿足的條件:
1.訪問(wèn)城市i必須要有一個(gè)即將訪問(wèn)的確切城市峻村;
2.訪問(wèn)城市j必須要有一個(gè)剛剛訪問(wèn)過(guò)的確切城市麸折。
用下面的兩組約束分別實(shí)現(xiàn)上面的兩個(gè)條件。
\begin{array}{l}{\sum_{j=1}^{n} x_{i j}=1, \quad i=1,2, \cdots, n} \\ {\sum_{i=1}^{n} x_{i j}=1, \quad j=1,2, \cdots, n}\end{array}
到此我們得到了一個(gè)模型粘昨,它是一個(gè)指派問(wèn)題的整數(shù)規(guī)劃模型垢啼。但以上兩個(gè)條件對(duì)于
TSP 來(lái)說(shuō)并不充分,僅僅是必要條件张肾。
例如對(duì)如下的情形芭析,它顯然不是TSP問(wèn)題的解。

兩個(gè)子巡回

于是我們可以在原模型上添加附加約束條件:

于是整個(gè)問(wèn)題變成一個(gè)混合型整數(shù)線性規(guī)劃問(wèn)題吞瞪。


代碼實(shí)現(xiàn)

model:
sets:
city / 1.. 5/: u;
link( city, city):
dist, ! 距離矩陣;
x;
endsets
n=@size(city);
data: !距離矩陣馁启,它并不需要是對(duì)稱的;
dist=@qrand(1); !隨機(jī)產(chǎn)生,這里可改為你要解決的問(wèn)題的數(shù)據(jù);
enddata
!目標(biāo)函數(shù);
min=@sum(link:dist*x);
@FOR(city(K):
!進(jìn)入城市 K;
@sum(city(I)| I #ne# K: x(I,K))=1;
!離開(kāi)城市 K;
@sum(city(J)| J #ne# K: x(K,J))=1);
!保證不出現(xiàn)子圈;
@for(city(I)|I #gt# 1:@for( city( J)| J#gt#1 #and# I #ne# J:
u(I)-u(J)+n*x(I,J)<=n-1));
!限制 u 的范圍以加速模型的求解芍秆,保證所加限制并不排除掉 TSP 問(wèn)題的最優(yōu)解;
@for(city(I) | I #gt# 1: u(I)<=n-2);
!定義 X 為 0-1 變量;
@for( link: @bin(x));
end

例4 露天礦生產(chǎn)的車(chē)輛安排(CMCM2003B)(國(guó)賽2003年真題)

鋼鐵工業(yè)是國(guó)家工業(yè)的基礎(chǔ)之一惯疙,鐵礦是鋼鐵工業(yè)的主要原料基地。許多現(xiàn)代化鐵礦是露天開(kāi)采的妖啥,它的生產(chǎn)主要是由電動(dòng)鏟車(chē)(以下簡(jiǎn)稱電鏟)裝車(chē)霉颠、電動(dòng)輪自卸卡車(chē)(以下簡(jiǎn)稱卡車(chē))運(yùn)輸來(lái)完成。提高這些大型設(shè)備的利用率是增加露天礦經(jīng)濟(jì)效益的首要任務(wù)迹栓。
露天礦里有若干個(gè)爆破生成的石料堆掉分,每堆稱為一個(gè)鏟位,每個(gè)鏟位已預(yù)先根據(jù)鐵含量將石料分成礦石和巖石克伊。一般來(lái)說(shuō)酥郭,平均鐵含量不低于 25%的為礦石,否則為巖石愿吹。每個(gè)鏟位的礦石不从、巖石數(shù)量,以及礦石的平均鐵含量(稱為品位)都是已知的犁跪。每個(gè)鏟位至多能安置一臺(tái)電鏟椿息,電鏟的平均裝車(chē)時(shí)間為5 分鐘

石料兩種:礦石和巖石
裝車(chē)時(shí)間:5分鐘

卸貨地點(diǎn)(以下簡(jiǎn)稱卸點(diǎn))有卸礦石的礦石漏坷衍、2 個(gè)鐵路倒裝場(chǎng)(以下簡(jiǎn)稱倒裝場(chǎng))和卸巖石的巖石漏寝优、巖場(chǎng)等,每個(gè)卸點(diǎn)都有各自的產(chǎn)量要求枫耳。從保護(hù)國(guó)家資源的角度及礦山的經(jīng)濟(jì)效益考慮乏矾,應(yīng)該盡量把礦石按礦石卸點(diǎn)需要的鐵含量(假設(shè)要求都為29.5% ± 1%,稱為品位限制)搭配起來(lái)送到卸點(diǎn),搭配的量在一個(gè)班次(8 小時(shí))內(nèi)滿足品位限制即可钻心。從長(zhǎng)遠(yuǎn)看凄硼,卸點(diǎn)可以移動(dòng),但一個(gè)班次內(nèi)不變捷沸√粒卡車(chē)的平均卸車(chē)時(shí)間為3 分鐘

卸點(diǎn)5個(gè):礦石漏痒给、2 個(gè)鐵路倒裝場(chǎng)说墨,巖石漏,巖場(chǎng)侈玄。
卸點(diǎn)需要的鐵含量限制:29.5% ± 1%
問(wèn)題分析范圍:8小時(shí)
卸車(chē)時(shí)間:3分鐘
裝車(chē)+卸車(chē):8分鐘

所用卡車(chē)載重量為 154 噸婉刀,平均時(shí)速 28 km/h吟温⌒蛳桑卡車(chē)的耗油量很大,每個(gè)班次每臺(tái)車(chē)消耗近 1 噸柴油鲁豪。發(fā)動(dòng)機(jī)點(diǎn)火時(shí)需要消耗相當(dāng)多的電瓶能量潘悼,故一個(gè)班次中只在開(kāi)始工作時(shí)點(diǎn)火一次∨老穑卡車(chē)在等待時(shí)所耗費(fèi)的能量也是相當(dāng)可觀的治唤,原則上在安排時(shí)不應(yīng)發(fā)生卡車(chē)等待的情況。電鏟和卸點(diǎn)都不能同時(shí)為兩輛及兩輛以上卡車(chē)服務(wù)糙申。卡車(chē)每次都是滿載運(yùn)輸宾添。

卡車(chē)信息:載重量154噸。
時(shí)速:28km/h
卡車(chē)的工作需連續(xù)柜裸,不能等待缕陕。
滿載運(yùn)輸。

每個(gè)鏟位到每個(gè)卸點(diǎn)的道路都是專用的寬 60 m 的雙向車(chē)道疙挺,不會(huì)出現(xiàn)堵車(chē)現(xiàn)象扛邑,每段道路的里程都是已知的。
一個(gè)班次的生產(chǎn)計(jì)劃應(yīng)該包含以下內(nèi)容:出動(dòng)幾臺(tái)電鏟铐然,分別在哪些鏟位上蔬崩;出動(dòng)幾輛卡車(chē),分別在哪些路線上各運(yùn)輸多少次(因?yàn)殡S機(jī)因素影響搀暑,裝卸時(shí)間與運(yùn)輸時(shí)間都不精確沥阳,所以排時(shí)計(jì)劃無(wú)效,只求出各條路線上的卡車(chē)數(shù)及安排即可)自点。一個(gè)合格的計(jì)劃要在卡車(chē)不等待條件下滿足產(chǎn)量和質(zhì)量(品位)要求桐罕,而一個(gè)好的計(jì)劃還應(yīng)該考下面兩條原則之一:

1.總運(yùn)量(噸公里)最小,同時(shí)出動(dòng)最少的卡車(chē),從而運(yùn)輸成本最懈园怼侠鳄;
2.利用現(xiàn)有車(chē)輛運(yùn)輸,獲得最大的產(chǎn)量(巖石產(chǎn)量?jī)?yōu)先死宣;在產(chǎn)量相同的情況下伟恶,取總運(yùn)量最小的解)。
請(qǐng)你就兩條原則分別建立數(shù)學(xué)模型毅该,并給出一個(gè)班次生產(chǎn)計(jì)劃的快速算法博秫。針對(duì)下面的實(shí)例,給出具體的生產(chǎn)計(jì)劃眶掌、相應(yīng)的總運(yùn)量及巖石和礦石產(chǎn)量挡育。

某露天礦有鏟位 10 個(gè),卸點(diǎn) 5 個(gè)朴爬,現(xiàn)有鏟車(chē) 7 臺(tái)即寒,卡車(chē) 20 輛。各卸點(diǎn)一個(gè)班次的產(chǎn)量要求:礦石漏 1.2 萬(wàn)噸召噩、倒裝場(chǎng)Ⅰ1.3 萬(wàn)噸母赵、倒裝場(chǎng)Ⅱ1.3 萬(wàn)噸、巖石漏 1.9 萬(wàn)噸具滴、巖場(chǎng) 1.3 萬(wàn)噸凹嘲。

鏟位總數(shù):10個(gè)
卸點(diǎn):5個(gè)
鏟車(chē)(能使用的鏟位數(shù)):7臺(tái)
卡車(chē)總數(shù):20輛
各個(gè)卸點(diǎn)的產(chǎn)量要求:礦石漏 1.2 萬(wàn)噸、倒裝場(chǎng)Ⅰ1.3 萬(wàn)噸构韵、倒裝場(chǎng)Ⅱ1.3 萬(wàn)噸周蹭、巖石漏 1.9 萬(wàn)噸、巖場(chǎng) 1.3 萬(wàn)噸疲恢。

鏟位和卸點(diǎn)位置二維示意圖見(jiàn)下圖凶朗,各鏟位和各卸點(diǎn)之間的距離(公里)見(jiàn)下表,各鏟位礦石冈闭、巖石數(shù)量(萬(wàn)噸)和礦石的平均鐵含量也見(jiàn)下表俱尼。

表1 鏟位與卸點(diǎn)之間的距離表

鏟位1 鏟位2 鏟位3 鏟位4 鏟位5
礦石漏 5.26 5.19 4.21 4.00 2.95
倒裝廠1 1.90 0.99 1.90 1.13 1.27
巖廠 5.89 5.61 5.61 4.56 3.51
巖石漏 0.64 1.76 1.27 1.83 2.74
倒裝廠2 4.42 3.86 3.72 3.16 2.25
鏟位6 鏟位7 鏟位8 鏟位9 鏟位10
2.74 2.46 1.90 0.64 1.27
2.25 1.48 2.04 3.09 3.51
3.65 2.46 2.46 1.06 0,57
2.60 4.21 3.72 5.05 6.10
2.81 0.78 1.62 1.27 0.50

表2 鏟位礦石,巖石數(shù)量和礦石的平均鐵含量表萎攒。

鏟位1 鏟位2 鏟位3 鏟位4 鏟位5
礦石量 0.95 1.05 1.00 1.05 1.10
巖石量 1.25 1.10 1.35 1.05 1.15
鐵含量 30% 28% 29% 32% 31%
鏟位6 鏟位7 鏟位8 鏟位9 鏟位10
礦石量 1.25 1.05 1.30 1.35 1.25
巖石量 1.35 1.05 1.15 1.35 1.25
鐵含量 33% 32% 31% 33% 31%
鏟位與卸點(diǎn)位置示意圖

本例就原則一舉例遇八,展現(xiàn)完整的建模和求解過(guò)程。
各種符號(hào)及單位說(shuō)明如下:
x_{i j}:從i號(hào)鏟位到j號(hào)卸點(diǎn)的石料運(yùn)量耍休,單位:車(chē)·次·(最終方案所求量之一刃永,在相應(yīng)車(chē)道上的總(車(chē)·次)數(shù))
c_{i j}:從i號(hào)鏟位到j號(hào)卸點(diǎn)的距離,單位:公里
T_{i j}:從i號(hào)鏟位到j號(hào)卸點(diǎn)運(yùn)行一個(gè)周期所需的時(shí)間羊精,單位:分
A_{i j}:從i號(hào)鏟位到j號(hào)卸點(diǎn)最多能同時(shí)運(yùn)行的卡車(chē)數(shù)斯够,單位:輛(最終方案所求量之一,在對(duì)應(yīng)車(chē)道上安排的同時(shí)運(yùn)行的車(chē)數(shù))
B_{i j}:從i號(hào)鏟位到j號(hào)卸點(diǎn),一輛車(chē)一個(gè)班次中最多可以運(yùn)行的次數(shù)读规,單位:次
p_{i}i號(hào)鏟位的礦石鐵產(chǎn)量乘以100
P:\left(p_{1}, \cdots, p_{10}\right)=(30,28,29,32,31,33,32,31,33,31)
Q=\left(q_{1}, \cdots, q_{5}\right)=(1.2,1.3,1.3,1.9,1.3) \times 10000 / 154抓督,單位:車(chē)·次;
c k_{i}i號(hào)鏟位的鐵礦石儲(chǔ)量束亏,單位:萬(wàn)噸
c y_{i}i號(hào)鏟位的巖石儲(chǔ)量铃在,單位:萬(wàn)噸
f_{i}:描述第i號(hào)鏟位是否使用0-1變量,
f_{i}=\left\{\begin{array}{l}{1}碍遍,使用i號(hào)鏟位 \\ {0}定铜,不使用i號(hào)\end{array}\right.

分析所有的目標(biāo)函數(shù)和限制條件:
目標(biāo)函數(shù):

卡車(chē)運(yùn)行總距離最少
\min \sum_{i=1}^{10} \sum_{j=1}^{5} 154 c_{i j} \cdot x_{i j}

限制條件:

1.電鏟能力限制(裝車(chē)時(shí)間5分,每個(gè)電鏟最多能裝60*8/5=96輛車(chē))
\sum_{j=1}^{5} x_{i j} \leq 96 f_{i}, \quad i=1, \cdots, 10

2.卸車(chē)能力限制(卸車(chē)時(shí)間3分怕敬,每個(gè)卸點(diǎn)最多能卸60*8/3=160輛車(chē))
\sum_{i=1}^{10} x_{i j} \leq 160, \quad j=1, \cdots, 5

3.各鏟位礦石儲(chǔ)量限制(從各個(gè)鏟位運(yùn)出的礦石不能大于儲(chǔ)量)
\begin{array}{l}{x_{i 1}+x_{i 2}+x_{i 5} \leq c k_{i} \times 10000 / 154} \\ {x_{i 3}+x_{i 4} \leq c y_{i} \times 10000 / 154}\end{array} \}, i=1, \cdots, 10

4.需求量限制(各個(gè)卸點(diǎn)卸下的礦石要大于需求量)
\sum_{i=1}^{10} x_{i j} \geq q_{j}, \quad j=1, \cdots, 5

5.品位因數(shù)限制(礦石純度要求29.5% ± 1%)
\begin{array}{l}{\sum_{i=1}^{10} x_{i j} \times\left(p_{i}-30.5\right) \leq 0} \\ {\sum_{i=1}^{10} x_{i j}\left(p_{i}-28.5\right) \geq 0}\end{array} \}, \quad j=1,2,5

6.卡車(chē)總數(shù)限制(20)
\sum_{i=1}^{10} \sum_{j=1}^{j} \frac{x_{i j}}{B_{i j}} \leq 20

7.電鏟啟用數(shù)限制(7)
\sum_{i=1}^{10} f_{i} \leq 7

于是可以建立如下模型:
\min \sum_{i=1}^{10} \sum_{j=1}^{5} 154 c_{i j} \cdot x_{i j}
\sum_{j=1}^{5} x_{i j} \leq 96 f_{i}, \quad i=1, \cdots, 10
\sum_{i=1}^{10} x_{i j} \leq 160, \quad j=1, \cdots, 5
\begin{array}{l}{x_{i 1}+x_{i 2}+x_{i 5} \leq c k_{i} \times 10000 / 154} \\ {x_{i 3}+x_{i 4} \leq c y_{i} \times 10000 / 154}\end{array} \}, i=1, \cdots, 10
\sum_{i=1}^{10} x_{i j} \geq q_{j}, \quad j=1, \cdots, 5
\begin{array}{l}{\sum_{i=1}^{10} x_{i j} \times\left(p_{i}-30.5\right) \leq 0} \\ {\sum_{i=1}^{10} x_{i j}\left(p_{i}-28.5\right) \geq 0}\end{array} \}, \quad j=1,2,5
\sum_{i=1}^{10} \sum_{j=1}^{j} \frac{x_{i j}}{B_{i j}} \leq 20
\sum_{i=1}^{10} f_{i} \leq 7
x_{i j}為整數(shù)揣炕,i=1, \cdots, 10, \quad j=1, \cdots, 5
f_{i}為0-1變量,i=1,...,10

程序如下:

model:
title CUMCM-2003B;
sets:
cai / 1..10 /:p,cy,ck,f;
xie / 1 .. 5 /:q;
link(cai,xie):a,b,c,t,x;
endsets
data:
v=28;
p=30 28 29 32 31 33 32 31 33 31;
q= 1.2 1.3 1.3 1.9 1.3 ;
c=5.2600 1.9000 5.8900 0.6400 4.4200
5.1900 0.9900 5.6100 1.7600 3.8600
4.2100 1.9000 5.6100 1.2700 3.7200
4.0000 1.1300 4.5600 1.8300 3.1600
2.9500 1.2700 3.5100 2.7400 2.2500
2.7400 2.2500 3.6500 2.6000 2.8100
2.4600 1.4800 2.4600 4.2100 0.7800
1.9000 2.0400 2.4600 3.7200 1.6200
0.6400 3.0900 1.0600 5.0500 1.2700
1.2700 3.5100 0.5700 6.1000 0.5000;
cy = 1.25 1.10 1.35 1.05 1.15 1.35 1.05 1.15 1.35 1.25;
ck = 0.95 1.05 1.00 1.05 1.10 1.25 1.05 1.30 1.35 1.25;
enddata
!下面一行是代表卡車(chē)數(shù)量約束东跪,先計(jì)算除每條線路的運(yùn)行周期(單位:分鐘)
a是運(yùn)行在當(dāng)條道路上的總卡車(chē)限制數(shù)畸陡。
b是1輛車(chē)1個(gè)班次中最多可以運(yùn)行的次數(shù)。
@for(link:t=120*c/v+8;a=@floor(t/5);b=@floor((485-5*a)/t));
min=@sum( link:x*154*c); !目標(biāo)函數(shù);
@for (link: x<=a*b); !道路能力約束;
@for (cai(i): @sum(xie(j):x(i,j))<=f(i)*96); !電鏟能力約束;
@for (xie(j):@sum(cai(i):x(i,j))<=160); !卸點(diǎn)能力約束;
!以下是鏟位儲(chǔ)量約束;
@for (cai(i): x(i,1)+x(i,2)+x(i,5)<=ck(i)*10000/154);
@for (cai(i): x(i,3)+x(i,4)<=cy(i)*10000/154);
!產(chǎn)量任務(wù)約束;
@for (xie(j) : @sum(cai(i):x(i,j)) >= q(j)*10000/154);
@sum(cai(i): x(i,1)*(p(i)-30.5) )<=0; !鐵含量約束;
@sum(cai(i): x(i,2)*(p(i)-30.5) )<=0;
@sum(cai(i): x(i,5)*(p(i)-30.5) )<=0;
@sum(cai(i): x(i,1)*(p(i)-28.5) )>=0;
@sum(cai(i): x(i,2)*(p(i)-28.5) )>=0;
@sum(cai(i): x(i,5)*(p(i)-28.5) )>=0;
@sum(link:x/b)<=20; !車(chē)輛能力約束;
@sum(cai: f)<=7; !電鏟數(shù)量約束;
@for(link : @gin(x)); !整數(shù)約束;
@for(cai: @bin(f)); !0-1變量約束;
end
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末越庇,一起剝皮案震驚了整個(gè)濱河市罩锐,隨后出現(xiàn)的幾起案子奉狈,更是在濱河造成了極大的恐慌卤唉,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仁期,死亡現(xiàn)場(chǎng)離奇詭異桑驱,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)跛蛋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門(mén)熬的,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人赊级,你說(shuō)我怎么就攤上這事押框。” “怎么了理逊?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵橡伞,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我晋被,道長(zhǎng)兑徘,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任羡洛,我火速辦了婚禮挂脑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己崭闲,他們只是感情好肋联,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著刁俭,像睡著了一般牺蹄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上薄翅,一...
    開(kāi)封第一講書(shū)人閱讀 49,730評(píng)論 1 289
  • 那天沙兰,我揣著相機(jī)與錄音,去河邊找鬼翘魄。 笑死鼎天,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的暑竟。 我是一名探鬼主播斋射,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼但荤!你這毒婦竟也來(lái)了罗岖?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤腹躁,失蹤者是張志新(化名)和其女友劉穎桑包,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體纺非,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哑了,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了烧颖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弱左。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖炕淮,靈堂內(nèi)的尸體忽然破棺而出拆火,到底是詐尸還是另有隱情,我是刑警寧澤涂圆,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布们镜,位于F島的核電站,受9級(jí)特大地震影響乘综,放射性物質(zhì)發(fā)生泄漏憎账。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一卡辰、第九天 我趴在偏房一處隱蔽的房頂上張望胞皱。 院中可真熱鬧邪意,春花似錦、人聲如沸反砌。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)宴树。三九已至策菜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酒贬,已是汗流浹背又憨。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓坷牛,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親躏将。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容