7Lingo优化软件及其应用-第七章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Lingo优化软件及其应用 中国科学院研究生院 7 Lingo与数据库连接 7.1 利用@ODBC输入集合元素 语法的缺省规则 @ODBC的例子 在PERT模型中输入基本集合元素 利用@ODBC输入派生集合元素 在PERT模型中输入派生集合元素 利用@ODBC输入数值数据 在PERT模型中输入数据 利用@ODBC输出数据 在PERT模型中输出数据 输出统计报告 * * Lingo Optimal Software and its Applications 电子制表软件善于管理小到中等规模的数据。一旦我们的模型要处理大规模的数据,首选的就是数据库管理系统DBMS。 Lingo可与任何DBMS进行连接。ODBC为DBMS定义了一个标准化接口。借助于它,Lingo可以访问任何ODBC支持的数据库。 Lingo为下列DBMS安装了ODBC驱动程序: Access DBase Excel FoxPro Oracle Paradox SQL Server Text Files 无论是基本集合还是派生集合,都可以从一个ODBC数据源中输入。 在集合域里输入基本集合元素的语法: Primitive_Set_name/ @ODBC([‘data_source’[,’table_name’[,’column_name’]]])/ 基本集合名(Primitive_Set_name)是正在定义的基本集合的名字。数据源(data_source)参数是用ODBC管理器注册过的ODBC数据源的名字。数据表名(table_name)参数是含有集合元素表(在数据源里)的名称。最后,列名(column_name)参数就是上面数据表的列名 如果数据源参数被忽略了,则模型的标题取而代之; 如果数据表被忽略了,则基本集合的名字取而代之。 如果列名被忽略了,基本集合的名字取而代之。 只有在忽略列名参数的情况下才可以忽略数据表名参数;只有在数据表名参数和列名参数都被忽略的情况下才可以忽略数据源参数。 例1:TRUCKS/@ODBC(‘SHIPPING’, TRUCKS’,’TRUCK_NAME’)/ 数据表TRUCKS是存放在ODBC数据源SHIPPING里的。Lingo将此表的TRUCK_NAME列里的元素输入到基本集合TRUCKS之中。 例2:STOCKS/@ODBC(‘PORTFOLIO’)/ 在这个例子中,数据表名和列名都被忽略了,所以Lingo用基本集合名STOCKS取而代之。因此,Lingo将表STOCKS里的STOCKS列中的元素输入到基本集合STOCKS之中,而表STOCKS是存放在ODBC数据源PORTFOLIO里的。 现在,我们将修改PERT模型以说明如何从一个Microsoft Access数据库里输入工程项目名称(作为集合元素)。修改后的模型如下(改动部分用红色显示) SETS: TASKS /@ODBC( PERTODBC, TASKS, TASKS)/: TIME, ES, LS, SLACK; PRED( TASKS, TASKS) / DESIGN,FORECAST, DESIGN,SURVEY, FORECAST,PRICE, FORECAST,SCHEDULE, SURVEY,PRICE, SCHEDULE,COSTOUT, PRICE,TRAIN, COSTOUT,TRAIN /; ENDSETS DATA: TIME = 10, 14, 3, 3, 7, 4, 10; ENDDATA @FOR( TASKS( J)| J #GT# 1: ES( J) = @MAX( PRED( I, J): ES( I) + TIME( I))); @FOR( TASKS( I)| I #LT# LTASK: LS( I) = @MIN( PRED( I, J): LS( J) - TIME( I));); @FOR( TASKS( I): SLACK( I) = LS( I) - ES( I)); ES( 1) = 0; LTASK = @SIZE( TASKS); LS( LTASK) = ES( LTASK); 输入基本集合元素的语句是: TASKS /@ODBC( PERTODBC, TASKS, TASKS)/: TIME, ES, LS, SLACK; 我们从ODBC数据域PERTODBC里取出集合TASKS的元素,而不是在模型里将它们列出。数据源PERTODBC中有TASKS表,表中有一列,名叫TASKS,我们就是从它那里获取集合TASKS的元素。 在一个集合域里输入一个派生集合元素的语法是:

文档评论(0)

ww90055 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档