




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、LINGO軟件與外部文件的接口,通過文件輸入輸出數(shù)據(jù),通過文件輸入輸出數(shù)據(jù)可以將LINGO程序和程序處理的數(shù)據(jù)分離開來。 “程序和數(shù)據(jù)的分離”是結構化程序設計、面向對象編程的基本要求。 實際問題通常需要處理大規(guī)模的實際數(shù)據(jù),而這些數(shù)據(jù)通常都是在其它應用系統(tǒng)中生成的,或者已經(jīng)存放在其它應用系統(tǒng)中的某個文件或數(shù)據(jù)庫中。 LINGO計算的結果需要以文件方式提供給其它應用系統(tǒng)使用。,通過WINDOWS剪貼板傳遞數(shù)據(jù) 通過文本文件傳遞數(shù)據(jù) 通過電子表格文件傳遞數(shù)據(jù) LINGO命令腳本文件,內(nèi)容提要,1. 通過WINDOWS剪貼板傳遞數(shù)據(jù),粘貼命令 ( Edit|Paste ) 特殊粘貼命令(Edit|P
2、aste Special ),粘貼命令 ( Edit|Paste ),將WORD文件或其他外部文件中的數(shù)據(jù)拷貝到Windows剪貼板 在LINGO程序中直接粘貼到需要的地方,步驟:,注意:,粘貼的數(shù)據(jù)保持了WORD表格的風格,且LINGO能夠正常識別甚至編輯其字體等。 由于LINGO對集合的屬性是按列賦值的,所以在外部文件中的數(shù)據(jù)與實際需要復制的數(shù)據(jù)可能發(fā)生行列顛倒的情況,需進行調整。 類似的方法也可以將LINGO程序中的數(shù)據(jù)復制到其他外部文件中。,特殊粘貼命令(Edit|Paste Special ),選擇特殊粘貼命令,則會出現(xiàn)“選擇性粘貼”對話框,請你選擇粘貼格式。,粘貼一個WORD對象,
3、雙擊時可以打開WORD進行編輯,將剪貼板中的內(nèi)容以圖形格式插入到LINGO模型中,效果與直接使用“Ctrl+V”的效果是一樣的,粘貼的是格式化的文本,選擇了“顯示為圖標”選項,則只顯示一個“文檔”圖標而不顯示剪貼板中的具體內(nèi)容;,選擇“粘貼鏈接” 時會建立與原文件的鏈接,當數(shù)據(jù)文件改變時,LINGO中這部分的內(nèi)容也會隨之改變,粘貼純文本文件,不保留文本的格式信息,特殊粘貼命令(Edit|Paste Special ),在這種粘貼方式中,只有選擇 “多信息文本(RTF)”或“未格式化文本” ,才能正確輸入數(shù)據(jù); 其他兩種方式:WORD文檔和圖形,LINGO在運行時完全將它們忽略掉; 選擇“粘貼鏈
4、接”建立鏈接關系后,可以隨時用“EDIT|LINKS”命令修改這個連接的屬性。 如果數(shù)據(jù)不是放在WORD文件,而是EXCEL電子表格文件或者其他應用程序的文件,操作和結果與上面介紹的過程完全類似。,注意:,2. 通過文本文件傳遞數(shù)據(jù),通過文本文件輸入數(shù)據(jù) FILE(filename) 通過文本文件輸出數(shù)據(jù) TEXT(filename),通過文本文件輸入數(shù)據(jù),FILE函數(shù)通常可以在集合段和數(shù)據(jù)段使用,但不允許嵌套使用。 調用格式:FILE(filename) filename為存放數(shù)據(jù)的文件名(可以包含完整的路徑名,或表示在當前目錄下尋找這個文件) 數(shù)據(jù)文件中記錄之間必須用“”分開,例:,MOD
5、EL: SETS: MYSET / FILE(myfile.ldt) / : FILE(myfile.ldt); ENDSETS MIN = SUM( MYSET( I): ORDERED( I) * COST( I); FOR( MYSET( I): ORDERED( I) NEED( I); ORDERED( I) SUPPLY( I); DATA: COST = FILE( myfile.ldt); NEED = FILE( myfile.ldt); SUPPLY = FILE( myfile.ldt); ENDDATA END,數(shù)據(jù)文件myfile.ldt的內(nèi)容:,Lingo程序exa
6、m0402.LG4 :,每調用一次FILE(myfile.ldt) 就輸入一個數(shù)據(jù)記錄,Seattle,Detroit,Chicago,Denver COST,NEED,SUPPLY,ORDERED 12,28,15,20 1600,1800,1200,1000 1700,1900,1300,1100,如輸入數(shù)據(jù)發(fā)生變化,則只要修改數(shù)據(jù)文件myfile.ldt中的內(nèi)容,程序不變,實現(xiàn)數(shù)據(jù)與程序分離,通過文本文件輸出數(shù)據(jù),TEXT函數(shù)通常只在數(shù)據(jù)段使用 調用格式:TEXT(filename) 它用于數(shù)據(jù)段中將解答結果送到文本文件filename中, 當省略filename時,結果送到標準的輸出設
7、備(通常就是屏幕) Filename可以使用相對路徑或絕對路徑,若文件已經(jīng)存在,則覆蓋原文件,例:,TEXT(exam0403.txt)=write(4* ,Value,12* ,Dual,13* , Decrease,8* ,Increase,newline(2); TEXT(exam0403.txt)=write(Variables:,newline(2); TEXT(exam0403.txt)=Ordered,DUAL(Ordered),RANGED(ordered), RANGEU(ordered); TEXT(exam0403.txt)=write(newline(1),NEED C
8、onstraints:,newline(2); TEXT(exam0403.txt)=CON1,DUAL(CON1), RANGED(CON1), RANGEU(CON1); TEXT(exam0403.txt)=write(newline(1),SUPPLY Constraints:, newline(2); TEXT(exam0403.txt)=CON2,DUAL(CON2), RANGED(CON2), RANGEU(CON2); TEXT(exam0403.txt)=write(newline(1),Final status for exam0403: ,status(), if(st
9、atus(), (Maybe Not Global Optimal), (Global Optimal),newline(1);,Lingo程序exam0403.LG4(部分) :,輸出表頭,并換行,輸出變量Ordered的最優(yōu)解、對偶價格、敏感性分析,根據(jù)status()的值輸出是否全局最優(yōu),函數(shù)RANGED, RANGEU輸出敏感性分析信息,但LINGO的缺省設置是不進行敏感性分析的,因此,必須進行設置,這個選項在OPTIONS|General Solver,3. 通過電子表格文件傳遞數(shù)據(jù),在LINGO中使用電子表格文件的數(shù)據(jù) 將LINGO模型嵌入、鏈接到電子表格文件中,在LINGO中使用
10、電子表格文件的數(shù)據(jù),實際應用中,可能有大量數(shù)據(jù)是存放在各種電子表格中的(如EXCEL表格)。 LINGO系統(tǒng)與EXCEL文件傳遞數(shù)據(jù)的函數(shù)的一般用法是通過OLE函數(shù)。 調用格式: OLE(spreadsheet_file , range_name_list) 輸入數(shù)據(jù) :“屬性(或變量)=OLE(.)” 輸出數(shù)據(jù) :“OLE(.)=屬性(或變量)”,電子表格文件名,數(shù)據(jù)的單元范圍,例:,首先,建立相應的EXCEL數(shù)據(jù)文件 mydata.xls ,并定義相應的數(shù)據(jù)單元,數(shù)據(jù)單元定義方法:選擇EXCEL的菜單命令“插入|名稱|定義” ,才談出對話框中輸入單元名稱,MODEL: SETS: MYSE
11、T / OLE(mydata.xls,CITIES) / : COST,NEED,SUPPLY,ORDERED; ENDSETS MIN = SUM( MYSET( I): ORDERED( I) * COST( I); FOR( MYSET( I): CON1 ORDERED( I) NEED( I); CON2 ORDERED( I) SUPPLY( I); DATA: COST,NEED,SUPPLY = OLE(mydata.xls); OLE(mydata.xls,SOLUTION)=ORDERED; ENDDATA END,Lingo程序exam0404.LG4:,從文件mydat
12、a.xls的CITIES所指示的單元中取出數(shù)據(jù),作為集合MYSET的元素。,從文件mydata.xls中相應單元給COST,NEED,SUPPLY賦值 。沒有指定單元時,從與變量名相同的單元中賦值,將ORDERED的值輸出賦給mydata.xls文件中由SOLUTION指定的單元格,輸出總結報告,Export Summary Report - Transfer Method: OLE BASED Workbook: mydata.xls Ranges Specified: 1 SOLUTION Ranges Found: 1 Range Size Mismatches: 0 Values Tr
13、ansferred: 4,采用OLE方式傳輸數(shù)據(jù); EXCEL文件為mydata.xls; 指定的接收單元范圍為SOLUTION; 在mydata.xls正好找到一個名為SOLUTION的域名; 不匹配的單元數(shù)為0; 傳輸了4個數(shù)值。,LINGO與數(shù)據(jù)庫交換數(shù)據(jù),不同的數(shù)據(jù)庫有不同的數(shù)據(jù)庫管理系統(tǒng)(DBMS:DataBase Management System) WINDOWS環(huán)境下可以用ODBC(Open DataBase Connectivity)進行連接 LINGO中可以使用函數(shù)ODBC,格式為 :,ODBC(data_source, table_name, col_1, col_2 .
14、) 其中data_source是數(shù)據(jù)庫名, table_name是數(shù)據(jù)表名, col_1, col_2,.是數(shù)據(jù)列名(數(shù)據(jù)域名)。,將LINGO模型嵌入、鏈接到電子表格文件中,打開EXCEL文件 菜單命令“插入|對象” 選擇“新建|LINDO Document”,建立一個空的LINGO文件對象,且在EXCEL中出現(xiàn)LINGO菜單 輸入LINGO 程序內(nèi)容,即可在EXCEL中運行LINGO程序,雖然在EXCEL文件中嵌入了LINGO對象,但需要人工干預才能運行這個對象。 若希望在EXCEL中自動運行一個LINGO程序 ,則需要將LINGO程序用命令腳本進行描述,并需要用EXCEL的宏命令進行調用
15、。,4. LINGO命令腳本文件,LINGO命令腳本文件是一個普通的文本文件,但是文件中的內(nèi)容是由一系列LINGO命令構成的命令序列。 使用命令腳本文件,你可以同時運行一系列的LINGO批處理命令。 命令腳本文件可用任何文本編輯器生成,也可以用LINGO新建文件(*.ltf文件)進行編輯。,例如: 一家快餐公司有多家分店,每家分店都要確定每天所雇用的服務員的人數(shù)。每家分店的優(yōu)化模型的結構本質上是一樣的,只是具體數(shù)據(jù)不同。 我們可以把每個分店的人員需求數(shù)據(jù)存入各自的一個數(shù)據(jù)文件中,并建立一個統(tǒng)一的程序(命令腳本文件)逐個調用這些數(shù)據(jù)進行求解,輸出結果。,分店AAA周一到周四每天至少需要50人,周
16、五至少80人,周六和周日至少90人; 分店BBB周一到周四每天至少需要80人,周五至少120人,周六和周日至少140人; 分店CCC周一到周四每天至少需要90人,周五至少120人,周六和周日至少150人。,3家分店(分別表示為AAA,BBB,CCC),! 開始輸入關于員工聘用的優(yōu)化模型 MODEL: SETS: DAYS / MON TUE WED THU FRI SAT SUN/: REQUIRED, START; ENDSETS DATA: REQUIRED = FILE( AAA.LDT); ! 讀入需求數(shù)據(jù)REQUIRED; TEXT(F:lindolindo書ch04result/A
17、AA.TXT) = WRITE( 員 工 聘 用 計 劃 表, NEWLINE( 1); TEXT(F:lindolindo書ch04result/AAA.TXT) = WRITE( -, NEWLINE( 1); TEXT(F:lindolindo書ch04result/AAA.TXT) = WRITEFOR( DAYS(I):DAYS(I), (星期,I,): , 4* , FORMAT( START(I), 3.0f),NEWLINE(1) ); TEXT(F:lindolindo書ch04result/AAA.TXT) = WRITE( -, NEWLINE( 1); TEXT(F:l
18、indolindo書ch04result/AAA.TXT) = WRITE(6* , 合計:, 6* , SUM( DAYS: START),NEWLINE( 1); ENDDATA MIN = SUM( DAYS( I): START( I); FOR( DAYS(J): SUM(DAYS(I) | I #LE# 5:START(WRAP(J - I + 1,7)=REQUIRED(J); FOR( DAYS: GIN( START); END GO ! 下面求解分店AAA的決策問題 ALTER ALL AAABBB ! 下面轉向求解分店BBB的決策問題 GO ALTER ALL BBBCCC ! 下面轉向求解分店CCC的決策問題 GO SET TERSEO 0 ! 恢復參數(shù)(恢復以正常方式顯示解答結果),命令之間的說明語句不需要以“;”結束;但在程序段中(即位于“MODEL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZHCA 025-2023 化妝品抗氧化人體測試方法
- 沈陽生姜種植與市場推廣2025年度聯(lián)合發(fā)展合同
- 2025年度自愿離婚協(xié)議書:子女撫養(yǎng)權及監(jiān)護責任協(xié)議
- 二零二五年度創(chuàng)新型企業(yè)員工股權激勵合同
- 2025年度金融服務違約賠償協(xié)議范本
- 2025年度美容院美容師職業(yè)保險與福利合作協(xié)議
- 二零二五年度國際物流公司總經(jīng)理聘用協(xié)議
- 二零二五年度專業(yè)冷庫租賃與溫控技術支持協(xié)議
- 二零二五年度物流行業(yè)勞動合同法更新及風險防范合同
- 二零二五年度心理咨詢服務連鎖機構心理咨詢師聘用合同
- 5.2 做自強不息的中國人 (課件)-2024-2025學年統(tǒng)編版道德與法治七年級下冊
- 【寒假開學第一課】AI時代做自己的哪吒
- CWAN 0043-2021攪拌摩擦焊攪拌頭設計及制造標準
- 從入門到精通:2025年化妝基本步驟
- 教學課件:《公共關系學》(本科)
- 劉聰版在燦爛陽光下鋼琴伴奏譜簡譜版
- 2025年春新人教PEP版英語三年級下冊全冊教學課件
- 建筑工程項目精益建造實施計劃書
- 化學-江蘇省蘇州市2024-2025學年2025屆高三第一學期學業(yè)期末質量陽光指標調研卷試題和答案
- 游戲開發(fā)公司游戲產(chǎn)品設計與用戶體驗優(yōu)化計劃
- 浙江省金華市義烏市2024年中考語文二模試卷含答案
評論
0/150
提交評論