




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
#LINGO與外部文件之間的數(shù)據(jù)傳遞一、通過(guò)Windows剪貼板傳遞數(shù)據(jù)有時(shí)侯實(shí)際問(wèn)題的數(shù)據(jù)在Word或Excel文件中(通常出現(xiàn)在表格中),在編寫(xiě)LINGO程序時(shí)可以通過(guò)剪貼板把表格連同數(shù)據(jù)傳遞到LINGO中。下面用實(shí)例來(lái)說(shuō)明具體操作方法。例:水資源分配問(wèn)題。某水庫(kù)可分配的水資源量為7個(gè)單位,分配給3個(gè)用戶,各用戶在分配一定單位水資源以后產(chǎn)生的效益如下表所示, 求最優(yōu)分配方案。用戶分配一定水資源量以后的效益水資源量1234567用戶151540809095100用戶25154060707375用戶34264045505153解:用5表示圖所示的效益矩陣,引入決策矩陣X表示水資源分配情況,其中1用戶i分配j單位水資源Xij_j不分配則目標(biāo)函數(shù)是分配方案的總效益最大,約束條件有兩條:水資源總量7個(gè)單位;7每個(gè)用戶得到的水資源數(shù)量只能是0到7共8個(gè)數(shù)字中的一個(gè),即7Xij<1jd于是,本問(wèn)題的數(shù)學(xué)模型為:3 7maxf=CijXiji妊j±「7送Xij蘭1,i=1,2,3jm3 7丿送瓦jXij=7iz±jztXij=0或1,i=1,2,3,j=1,2,…,7要想通過(guò)Windows的剪貼板把數(shù)據(jù)傳入LINGO程序的數(shù)據(jù)段,應(yīng)當(dāng)先在Word或Excel中用鼠標(biāo)選中表格中的數(shù)據(jù)塊,點(diǎn)擊菜單中的復(fù)制,然后在LINGO
中點(diǎn)擊Edit菜單中的Paste則數(shù)據(jù)連同表格一起出現(xiàn)在 LINGO程序中,如下所示:model:sets:user/1..3/;wa/1..7/:sl;fp(user,wa):c,x;endsetsdata:c=5154080909510051540607073754264045505153;!以上數(shù)據(jù)從Word中剪貼過(guò)來(lái);sl=1234567;!水資源數(shù)量等級(jí);enddatamax=@sum(fp:c*x); !目標(biāo)函數(shù);@for(fp:@bin(x)); !0-1變量;@sum(fp(i,j):x(i,j)*sl(j))=7; !水資源總量為7;@for(user(i): @sum(fp(i,j):x(i,j))<=1); !每個(gè)用戶最多得到一種水資源數(shù)量等級(jí);end程序運(yùn)行結(jié)果:枠陽(yáng)靜E'p枠陽(yáng)靜E'p平#「:-舉迥生iteration:120.0000Globaloptimalsolucionfounditeration:120.0000Objectivevalue:VariableValueReducedCost5L(1)000000000000SL(2}2*000000□.□00000SLt糾3.0000000.OOOOOOSL(即4.000000□.OOOOOOSL(5)5?000000□?OOOOOOSL(6)GOOOOOO□?000000SL(7}7*000000□.OOOOOO二、LINGO與文本文件之間的數(shù)據(jù)傳遞1?從文本文件讀取數(shù)據(jù)函數(shù)@file的功能是從文件讀取信息,使用格式為:@file(fname);該語(yǔ)句通常放在數(shù)據(jù)段,其中參數(shù)fname是存放數(shù)據(jù)的文件名,文件名可以包含目錄路徑,如果不含目錄路徑,則默認(rèn)在當(dāng)前目錄,該文件必須是純文本文件,可以用Windows附件中的寫(xiě)字板或記事本創(chuàng)建,文件中可以包含不同的數(shù)據(jù)段,數(shù)據(jù)段之間用“ ~”分開(kāi),數(shù)據(jù)段內(nèi)的多個(gè)數(shù)據(jù)之間用逗號(hào)或空格分開(kāi),數(shù)據(jù)結(jié)束時(shí)不要加“;”號(hào),舉例如下:model:!6發(fā)點(diǎn) 8收點(diǎn)運(yùn)輸問(wèn)題;sets:warehouses/@file('1.txt')/:capacity;vendors/@file('1.txt')/:demand;links(warehouses,vendors):cost,volume;endsets! 目標(biāo)函數(shù);min=@sum(links:cost*volume);! 需求約束;@for(vendors(J):@sum(warehouses(I):volume(I,J))=demand(J));!產(chǎn)量約束;@for(warehouses(I):@sum(vendors(J):volume(I,J))<=capacity(I));!這里是數(shù)據(jù);data:capacity=@file('1.txt');demand=@file('1.txt');cost=@file('1.txt');enddataend模型的所有數(shù)據(jù)來(lái)自于1.txt文件。其內(nèi)容如下:!warehouses成員;WH1WH2WH3WH4WH5WH6~!vendors成員;V1V2V3V4V5V6V7V8~TOC\o"1-5"\h\zI1=^.!產(chǎn)量;60 55 51 43 41 52 ~!銷(xiāo)量;35 37 22 32 41 32 43 38~!單位運(yùn)輸費(fèi)用矩陣;6 2 6 7 4 2 5 94 9 5 3 8 5 8 25 2 1 9 7 4 3 37 6 7 3 9 2 7 12 3 9 5 7 2 6 5把記錄結(jié)束標(biāo)記(~)之間的數(shù)據(jù)文件部分稱(chēng)為記錄。如果數(shù)據(jù)文件中沒(méi)有記錄結(jié)束標(biāo)記,那么整個(gè)文件被看作單個(gè)記錄。注意到除了記錄結(jié)束標(biāo)記外,模型的文本和數(shù)據(jù)同它們直接放在模型里是一樣的。我們來(lái)看一下在數(shù)據(jù)文件中的記錄結(jié)束標(biāo)記連同模型中@file函數(shù)調(diào)用是如何工作的。當(dāng)在模型中第一次調(diào)用@file函數(shù)時(shí),LINGO打開(kāi)數(shù)據(jù)文件,然后讀取第一個(gè)記錄;第二次調(diào)用@file函數(shù)時(shí),LINGO讀取第二個(gè)記錄等等。文件的最后一條記錄可以沒(méi)有記錄結(jié)束標(biāo)記,當(dāng)遇到文件結(jié)束標(biāo)記時(shí), LINGO會(huì)讀取最后一條記錄,然后關(guān)閉文件。如果最后一條記錄也有記錄結(jié)束標(biāo)記,那么直到LINGO求解完當(dāng)前模型后才關(guān)閉該文件。如果多個(gè)文件保持打開(kāi)狀態(tài),可能就會(huì)導(dǎo)致一些問(wèn)題,因?yàn)檫@會(huì)使同時(shí)打開(kāi)的文件總數(shù)超過(guò)允許同時(shí)打開(kāi)文件的上限16。2.把數(shù)據(jù)(計(jì)算結(jié)果)寫(xiě)入文本文件用函數(shù)@text可以把計(jì)算結(jié)果寫(xiě)入文本文件,使用格式是:@text('jg.txt')= 變量名;該語(yǔ)句通常放在數(shù)據(jù)段,其中參數(shù)'jg.txt' 是文件名,它可以由用戶按自己的意愿隨意起名字,如果文件不存在,則在當(dāng)前目錄下生成這個(gè)文件,如果文件已經(jīng)存在,則其中的內(nèi)容將會(huì)被覆蓋。文件名可以包含完整的目錄路徑名,如果沒(méi)有指定路徑,則默認(rèn)路徑是LINGO的當(dāng)前目錄。例:職員時(shí)序安排模型一項(xiàng)工作一周7天都需要有人(比如護(hù)士工作),每天(周一至周日)所需的最少職員數(shù)為 20、16、13、16、19、14和12,并要求每個(gè)職員一周連續(xù)工作5天,試求每周所需最少職員數(shù),并給出安排。注意這里我們考慮穩(wěn)定后的情況。model:sets:days/mon..sun/:required,start;endsetsdata:!每天所需的最少職員數(shù);required=20161316191412;@text('d:\out.txt')=days'至少需要的職員數(shù)為'start;enddata!最小化每周所需職員數(shù);min=@sum(days:start);@for(days(J):@sum(days(I)|I#le#5:start(@wrap(J+I+2,7)))>=required(J));end三、LINGO與Excel文件之間的數(shù)據(jù)傳遞LINGO通過(guò)@ole函數(shù)實(shí)現(xiàn)與Excel文件傳遞數(shù)據(jù),使用@ole函數(shù)既可以從Excel文件中導(dǎo)入數(shù)據(jù),也能把計(jì)算結(jié)果寫(xiě)入Excel文件。1.從Excel文件中導(dǎo)入數(shù)據(jù)@ole函數(shù)只能用在模型的集合定義段、數(shù)據(jù)段和初始段,使用格式可以分成以下幾種類(lèi)型:(1)變量名1,變量名2=@ole('文件名','數(shù)據(jù)塊名稱(chēng)1','數(shù)據(jù)塊名稱(chēng)2');從指定的Excel文件讀取數(shù)據(jù),文件名可以包括擴(kuò)展名(.xls),還可以包含完整的路徑目錄名稱(chēng),如果沒(méi)有指定路徑,則默認(rèn)路徑是LINGO的當(dāng)前工作目錄。該文件中定義了兩個(gè)數(shù)據(jù)塊,其中的數(shù)據(jù)分別用來(lái)對(duì)變量1和變量2初始化。如果變量名是集合,則對(duì)應(yīng)數(shù)據(jù)塊應(yīng)該是文本格式表示的集合成員名,如果變量名是集合的屬性,則對(duì)應(yīng)數(shù)據(jù)塊應(yīng)該是一系列數(shù)字,并且,若變量是初始集合的屬性,則對(duì)應(yīng)的數(shù)據(jù)塊應(yīng)當(dāng)是一列數(shù)據(jù),若變量是二維衍生集合的屬性,則對(duì)應(yīng)數(shù)據(jù)塊應(yīng)當(dāng)是二維矩形數(shù)據(jù)區(qū)域。 @ole函數(shù)無(wú)法讀取三維數(shù)據(jù)區(qū)域。(2) 變量名1,變量名2=@ole('文件名','數(shù)據(jù)塊名稱(chēng)');左邊的兩個(gè)變量必須定義在同一個(gè)集合中,@ole的參數(shù)僅指定一個(gè)數(shù)據(jù)塊名稱(chēng),該數(shù)據(jù)塊應(yīng)當(dāng)包含類(lèi)型相同的兩列數(shù)據(jù),第1列賦值給變量1,第2列賦值給變量2。(3) 變量名1,變量名2=@ole('文件名');沒(méi)有指定數(shù)據(jù)塊名稱(chēng),默認(rèn)使用Excel文件中與變量名同名的數(shù)據(jù)塊。2?將計(jì)算結(jié)果導(dǎo)出到Excel文件中使用@ole函數(shù)能把計(jì)算結(jié)果寫(xiě)入Excel文件,使用格式也有以下三種:(1)@ole('文件名','數(shù)據(jù)塊名稱(chēng)1','數(shù)據(jù)塊名稱(chēng)2')=變量名1,變量名2;將兩個(gè)變量的內(nèi)容分別寫(xiě)入指定文件的兩個(gè)預(yù)先已經(jīng)定義了名稱(chēng)的數(shù)據(jù)塊,數(shù)據(jù)塊的長(zhǎng)度(大?。┎粦?yīng)小于變量所包含的數(shù)據(jù),如果數(shù)據(jù)塊原來(lái)有數(shù)據(jù),則@ole寫(xiě)入語(yǔ)句運(yùn)行后原來(lái)的數(shù)據(jù)將被新的數(shù)據(jù)覆蓋。(2) @ole('文件名',’數(shù)據(jù)塊名稱(chēng)')=變量名1,變量名2;兩個(gè)變量的數(shù)據(jù)寫(xiě)入同一數(shù)據(jù)塊(不止 1列),先寫(xiě)變量1,變量2寫(xiě)入另外1列。(3) @ole('文件名')=變量名1,變量名2;不指定數(shù)據(jù)塊的名稱(chēng),默認(rèn)使用Excel文件中與變量名同名的數(shù)據(jù)塊。例:投資組合問(wèn)題。某三種股票(A,B,C)12年(1998~2009)的投資收益率R,i=1,2,3)如下表所示(表中還列出各年度500種股票的指數(shù)供參考)。假設(shè)你在2010年有一筆資金打算投資這三種股票,希望年收益率達(dá)到1.15,試給出風(fēng)險(xiǎn)最小的投資方案。表三種股票1998~2009年的收益率年份股票A股票B股票C股票指數(shù)19981.31.2251.1491.25899719991.1031.291.261.19752620001.2161.2161.4191.36436120010.9540.7280.92290.91928720020.9291.1441.16491.05708020031.0561.1070.9651.05501220041.0381.3211.13310891.3051.7321.31713020061.091.1951.0211.24016420071.0831.391.131910350.9281.0061.25899720091.1761.7151.9081.526236分析:設(shè)投資三種股票的資金份額分別為^(i=1,2,3),則有0_Xi_1, Xi=1iA3投資的年收益率為丫 xRj,其中Ri是第i種股票的年收益率,它是隨機(jī)變量,2可以用每種股票12年的平均收益率Ri代表該股票年收益率的數(shù)學(xué)期望E(Ri),3則Y的數(shù)學(xué)期望為EY,投資者希望年收益率達(dá)到1.15,數(shù)學(xué)表達(dá)式為i.13XiRi_1.15i仝用什么來(lái)衡量投資的風(fēng)險(xiǎn)呢?建議用收益率的方差或標(biāo)準(zhǔn)差來(lái)衡量, 即方差越大則風(fēng)險(xiǎn)越大,反之則風(fēng)險(xiǎn)小。按概率論知識(shí),丫的方差為T(mén)OC\o"1-5"\h\z3 32DY=D(' XjRj) ='xiD(R」亠2x^2cov( Rt ,R2)亠2Xtx3 cov( Rt,R3)亠2x2x3 cov( R2, R3)i土 iA上式可以寫(xiě)成3 3DY-aXjXjcov(Ri,Rj)i土j=1因此,該問(wèn)題的數(shù)學(xué)模型為:3 3minf二''Xixjcov(Ri,Rj)i=1j=13 _ZXiRi>1.1530_Xj_1,'xi=1Ii解:1.Excel中輸入數(shù)據(jù):
ABC J股票扌旨數(shù)1.31.2251.1491.2589971.1031,291.261.1975261.2161.2161.4191.3643610..95467280.9220,9192870.929L1441.1691.057081.056L1070+9651.0550121.0381.3211,133L1879251.0891.3051,7321,317131.091.1951.0211.240164L0831.39k131L1836751.0350.928L0060+9901081.1761,7151,9081.5262362?計(jì)算協(xié)方差陣:點(diǎn)擊“工具”一“數(shù)據(jù)分析”一“協(xié)方差”,ABcD1ABC\2A0.0099073B0.0113730.0535264C60119360.0508080.086375協(xié)方差矩陣是對(duì)稱(chēng)陣。3?計(jì)算均值利用average函數(shù)完成,計(jì)算得到三種股票的平均收益率分別為1.0890831.2136671,2345834.實(shí)現(xiàn)LINGO與Excel的數(shù)據(jù)交換1)在Excel中給數(shù)據(jù)所在區(qū)域命名選中數(shù)據(jù)區(qū)域,選擇“插入”一“名稱(chēng)”,定義名稱(chēng)covmean。計(jì)算結(jié)果中的決策變量x有三個(gè)分量,我們準(zhǔn)備把它寫(xiě)入到ExceI文件,為此預(yù)先在Excel中定義能寫(xiě)得下3個(gè)數(shù)據(jù)的數(shù)據(jù)塊,選中某一列的3個(gè)格子,把
它的名稱(chēng)定義為“投資份額”2)以“投資組合.xls”存盤(pán)5.編寫(xiě)LINGO程序model:setsstocks/A,B,C/:mean,x;stst(stocks,stocks):cov;endsets!stocks/A,B,C/:mean,x;stst(stocks,stocks):cov;endsets!定義三種股票;!cov為協(xié)方差矩陣;datadata:mean=@ole('c:/lingo8/cov=@ole('c:/lingo8/@ole('c:/lingo8/enddata投資組合mean=@ole('c:/lingo8/cov=@ole('c:/lingo8/@ole('c:/lingo8/enddata投資組合','mean');
投資組合','cov');投資組合','投資份額')=x;min=@sum(stst(i,j):cov(i,j)*x(i)*x(j));@sum(stocks:x)=1;@sum(stocks:mean*x)>=1.15;End運(yùn)行結(jié)果如下:min=@sum(stst(i,j):cov(i,j)*x(i)*x(j));@sum(stocks:x)=1;@sum(stocks:mean*x)>=1.15;End運(yùn)行結(jié)果如下:Localoptimalsolutionfoundatiteration:CtojsetivevslJLue:14D?2054596E-01Expor
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 聚焦海上成品油運(yùn)輸合同新篇章
- 瑜伽課程預(yù)約合同
- 酒店經(jīng)營(yíng)轉(zhuǎn)讓合同范本
- 草莓購(gòu)銷(xiāo)合同范本
- 工程項(xiàng)目合同廉政承諾書(shū)范文
- 誠(chéng)信標(biāo)志合作合同范本
- 人工智能在醫(yī)療保健中的創(chuàng)新考核試卷
- 木材切削刀具的選用與磨損分析考核試卷
- 云母制品在太陽(yáng)能熱水器中的應(yīng)用考核試卷
- 安全網(wǎng)絡(luò)數(shù)據(jù)安全應(yīng)急響應(yīng)考核試卷
- 2025年上半年潛江市城市建設(shè)發(fā)展集團(tuán)招聘工作人員【52人】易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 旋轉(zhuǎn)類(lèi)機(jī)電設(shè)備故障預(yù)測(cè)、診斷研究
- 新媒體營(yíng)銷(xiāo)(第三版) 課件全套 林海 項(xiàng)目1-6 新媒體營(yíng)銷(xiāo)認(rèn)知-新媒體營(yíng)銷(xiāo)數(shù)據(jù)分析
- 愚公移山英文 -中國(guó)故事英文版課件
- DB52∕T 1413-2019 黎平牛-行業(yè)標(biāo)準(zhǔn)
- 公園綠化養(yǎng)護(hù)景觀綠化維護(hù)項(xiàng)目迎接重大節(jié)會(huì)活動(dòng)的保障措施
- 國(guó)內(nèi)外旅游公共服務(wù)研究的文獻(xiàn)綜述
- 集團(tuán)公司各職能部管控分權(quán)手冊(cè)
- 機(jī)車(chē)電測(cè)儀表使用及檢修
- PMS顏色對(duì)照表
- 2012年北京大學(xué)醫(yī)學(xué)部外國(guó)留學(xué)生本科入學(xué)考試
評(píng)論
0/150
提交評(píng)論