学习LINGO语言课件.ppt_第1页
学习LINGO语言课件.ppt_第2页
学习LINGO语言课件.ppt_第3页
学习LINGO语言课件.ppt_第4页
学习LINGO语言课件.ppt_第5页
已阅读5页,还剩146页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020年2月12日星期三3时28分14秒 LINGO 数学科学与技术学院杨云峰fyydq sxjmdqpi 密码 654321 2020年2月12日星期三3时28分14秒 一 优化模型与优化软件简介 二 LINGO软件的基本使用方法 Outline 三 LINGO程序流程控制和子模型 2020年2月12日星期三3时28分14秒 一 优化模型与优化软件简介 2020年2月12日星期三3时28分14秒 优化问题的一般形式 无约束优化 只有目标函数 没有约束条件有约束优化 目标函数和约束条件都有普通方程组 没有 1 3 只有 2 不等式方程组 没有 1 2 只有 3 2020年2月12日星期三3时28分14秒 优化类型 连续优化 全部决策变量取值均为连续数值 实数 离散优化 部分或全部决策变量只取离散数值 2020年2月12日星期三3时28分14秒 连续优化 线性规划 LP 目标和约束均为线性函数非线性规划 NLP 目标或约束中有非线性函数二次规划 QP 目标为二次函数 约束为线性 2020年2月12日星期三3时28分14秒 离散优化 整数规划 IP 决策变量 全部或部分 为整数 整数线性规划 ILP 整数非线性规划 INLP 纯整数规划 PIP 混合整数规划 MIP 一般整数规划 0 1 整数 规划 2020年2月12日星期三3时28分14秒 常用优化软件 LINDO LINGO软件MATLAB优化工具箱 mathematica优化程序包EXCEL软件的优化功能SAS 统计分析 软件的优化功能 2020年2月12日星期三3时28分14秒 建模时需要注意的几个基本问题 1 尽量使用实数优化 减少整数约束和整数变量2 尽量使用光滑优化 减少非光滑约束的个数如 尽量少使用绝对值 符号函数 多个变量求最大 最小值 四舍五入 取整函数等 2020年2月12日星期三3时28分14秒 建模时需要注意的几个基本问题 3 尽量使用线性模型 减少非线性约束和非线性变量的个数 如x y 5改为x 5y 4 合理设定变量上下界 尽可能给出变量初始值5 模型中使用的参数数量级要适当 如小于103 2020年2月12日星期三3时28分14秒 二 LINGO软件的基本使用方法 2020年2月12日星期三3时28分14秒 1LINGO入门 2020年2月12日星期三3时28分14秒 max2x1 3x2St 4x1 3x2 103x1 5x2 12x1 0 x2 0 设有数学模型如下 2020年2月12日星期三3时28分14秒 第一步 启动Lingo 屏幕显示如下 标记LINGO的外窗口是主框架窗口 主框架窗口的上面包含所有的命令菜单和命令工具栏 标记LINGOMODEL LINGO1的子窗口是一个新的 空白的模型窗口 2020年2月12日星期三3时28分14秒 第二步 在模型窗口中输入模型 model max 2 x1 3 x2 4 x1 3 x2 10 3 x1 5 x2 12 end Max2x1 3x2St 4x1 3x2 103x1 5x2 12x1 0 x2 0 2020年2月12日星期三3时28分14秒 第三步 求解模型 1 选择菜单LINGO Solve或者按工具栏的 2020年2月12日星期三3时28分14秒 2 LINGO开始编译模型 如有语法错误将返回一个错误的消息并指明错误出现的位置 如果通过编译 LINGO将激活Solver运算器寻求模型的最优解 2020年2月12日星期三3时28分14秒 3 首先出现solverstatus窗口 其作用是监控solver的进展和显示模型的维数等信息 2020年2月12日星期三3时28分14秒 SolverStatus窗口 2020年2月12日星期三3时28分14秒 4 计算完成后出现SolutionReport窗口显示模型解的详细信息 2020年2月12日星期三3时28分14秒 SolutionReport窗口 Globaloptimalsolutionfoundatiteration 2Objectivevalue 7 454545VariableValueReducedCostx11 2727270 000000 x21 6363640 000000RowSlackorSurplusDualPrice17 4545451 00000020 0000000 9090909E 0130 0000000 5454545 2020年2月12日星期三3时28分14秒 ReducedCost 在max模型中 相应变量的reducedcost值表示当该变量每增加一个单位时目标函数减少的量 本例中此值均为0 2020年2月12日星期三3时28分14秒 ReducedCost ReducedCost值列出最优单纯形表中判别数所在行的变量的系数 表示当变量有微小变动时 目标函数的变化率 其中基变量的reducedcost值应为0 对于非基变量Xj 相应的reducedcost值表示当某个变量Xj增加一个单位时目标函数减少的量 max型问题 本例中此值均为0 2020年2月12日星期三3时28分14秒 SLACKORSURPLUS 给出约束条件的松驰变量或剩余变量的值 小于等于约束为松驰变量 SLACK 大于等于约束为剩余变量 SURPLUS 2020年2月12日星期三3时28分14秒 DUALPRICES 对偶价格或影子价格 DUALPRICES表示当对应约束有微小变动时 目标函数的变化率 即约束条件右端的常数项每增加一个单位 目标函数相应获得的改变量 显然 如果在最优解处约束正好取等号 紧约束 该值才可能不是0 对于非紧约束对该值必为0 表示对应约束中不等式右端项的微小扰动不影响目标函数 2020年2月12日星期三3时28分14秒 2Lingo的基本用法注意事项 2020年2月12日星期三3时28分14秒 1 每一个模型都以model 开始 又以end结束 也可省略此结构 2020年2月12日星期三3时28分14秒 2 目标函数必须由min 或max 开头 2020年2月12日星期三3时28分14秒 3 可以用表示 Lingo无严格小于 欲使a b 可以适当选取小的正常数e表示成a e b 2020年2月12日星期三3时28分14秒 4 LINGO的每一语句以 结束 5 注释以 开始 以 结束 2020年2月12日星期三3时28分14秒 变量名 不区分大小写 由字母数字下划线组成 第一个字符必须是字母 变量名最长为32个字符 2020年2月12日星期三3时28分14秒 LINGO编辑器用蓝色显示LINGO关键字绿色显示注释其他文本用黑色匹配的括号用红色高亮度显示 2020年2月12日星期三3时28分14秒 8 变量和数字放在约束条件的左 右端均可 但最好变量在左 数字在右 9 Lingo变量默认域为非负实数 可以改变默认域 2020年2月12日星期三3时28分14秒 10 行名 name 例 Objective max 2 x 3 y Con1 4 x 3 y 10 Con2 3 x 5 y 12 线性规划 行名 lg4默认为 1 2 3 2020年2月12日星期三3时28分14秒 Globaloptimalsolutionfound Objectivevalue 7 454545Totalsolveriterations 2VariableValueReducedCostX1 2727270 000000Y1 6363640 000000RowSlackorSurplusDualPriceOBJECTIVE7 4545451 000000CON10 0000000 9090909E 01CON20 0000000 5454545 2020年2月12日星期三3时28分14秒 3LINGO的建模语言 2020年2月12日星期三3时28分14秒 以运输实例逐步分析 6个仓库向8个小贩供应同一种货物 如何运 总运输费用最小 注 每个仓库可以向每个小贩供货 一共48个可能运货路线 仓库货存量 小贩需求量 每条路线的单位运输费用三个表如下 2020年2月12日星期三3时28分14秒 仓库货存量 capacity 2020年2月12日星期三3时28分14秒 小贩需求量 demand 2020年2月12日星期三3时28分14秒 每单位货物运输费用表 cost 2020年2月12日星期三3时28分14秒 demand j表示第j个小贩的需求量capacity i表示第i个仓库的库存量cost i j表示从第i个仓库到第j个小贩的单位运输费用 volume i j表示从第i个仓库到第j个小贩的运输量 2020年2月12日星期三3时28分14秒 数学模型可表示如下 2020年2月12日星期三3时28分14秒 当然目标函数可以如下输入 min 6 volume 1 1 2 volume 1 2 6 volume 1 3 1 volume 6 6 4 volume 6 7 3 volume 6 8 2020年2月12日星期三3时28分14秒 但是较大模型如果像上面那样输入又费时 又容易出错 这就需要LINGO的建模语言 2020年2月12日星期三3时28分14秒 LINGO的建模语言优点 1 可以用类似于标准数学符号的方式表示你的模型 2 可以用一个紧凑的语句表示一系列约束 3 数据可独立于模型 LINGO可以从文本文件 电子数据表 数据库中读取数据 2020年2月12日星期三3时28分14秒 LINGO模型的构成 5个段 目标函数与约束条件段集合段 sets endsets 数据段 data enddata 初始段 init endinit 计算段 calc endcalc Lingo建模语言的重点和难点是 对集合概念的理解和正确使用 2020年2月12日星期三3时28分14秒 为什么使用集合 集合是LINGO建模语言的基础 是LINGO程序设计最强有力的基本构件 借助于集合 能够用一个单一的 长的 简明的复合公式表示一系列相似的约束 从而可以快速方便地表达规模较大的模型 2020年2月12日星期三3时28分14秒 什么是集合 集合是一群相联系的对象 比如仓库 小贩 运输路线 这些对象也称为集合的成员 每个集合成员可能有一个或多个与之有关联的特征 我们把这些特征称为属性 属性值可以预先给定 也可以是未知的 有待于LINGO求解 2020年2月12日星期三3时28分14秒 从我们的数学模型看需要三个集合 1 仓库 6个成员 货存量 2 小贩 8个成员 需求量 3 运输路线 48个成员 单位运费和运货量 2020年2月12日星期三3时28分14秒 LINGO有两种类型的集合 原始集合 primitiveset 由一些最基本的对象组成的 派生集 derivedset 用一个或多个其它集来定义的 也就是说 它的成员来自于其它已存在的集 2020年2月12日星期三3时28分14秒 下面我们学习集合定义部分 1 以sets 开始 以endsets结束 sets endsets 2020年2月12日星期三3时28分14秒 2 原始集合定义法 setname member list attribute list setname是集合的名字 member list是成员列表 各成员之间可用空格或逗号分隔 attribute list是集合成员所具有的属性列表 多个属性之间用逗号分隔 原始集合的member list attribute list是可选项 2020年2月12日星期三3时28分14秒 仓库和小贩的集合可如下定义 sets warehouses w1w2w3w4w5w6 capacity vendors v1 v2 v3 v4 v5 v6 v7 v8 demand endsets 2020年2月12日星期三3时28分14秒 成员较多时 可使用隐式成员列表 setname member1 memberN attribute list 2020年2月12日星期三3时28分14秒 数字型字符数字型星期型月份型年份 月份型 隐式成员列表类别 2020年2月12日星期三3时28分14秒 1 数字型 1 n例 1 5 1 2 3 4 5 2 字符数字型 stringM stringN例 truck3 truck34 2020年2月12日星期三3时28分14秒 3 星期型 dayM dayN例 mon fri Mon Tue Wed Thu Fri 4 月份型 MonthM MonthN例 OCT JAN Oct Nov Dec Jan 2020年2月12日星期三3时28分14秒 5 年份 月份型 monthYearM monthYearN例 OCT2001 JAN2002 2001 102001 112001 122002 1 2020年2月12日星期三3时28分14秒 仓库和小贩的集合也可如下定义 sets warehouses w1 w6 capacity vendors v1 v8 demand endsets 2020年2月12日星期三3时28分14秒 3 派生集合定义法 setname parent set list member list attribute list parent set list是父集合名列表 2020年2月12日星期三3时28分14秒 48条运输路线集合定义 links warehouses vendors cost volume 2020年2月12日星期三3时28分14秒 三个集合定义如下 sets warehouses wh1 wh6 capacity vendors v1 v8 demand links warehouses vendors cost volume endsets 2020年2月12日星期三3时28分14秒 运输问题的三个集合说明 这段代码定义了4个属性值 在接下来的模型中就可以使用属性值capacity 1 capacity 2 capacity 6 demand 1 demand 2 demand 8 cost 1 1 cost 1 2 cost 1 8 cost 2 1 cost 2 2 cost 2 8 cost 6 1 cost 6 2 cost 6 8 volume的引用同cost 2020年2月12日星期三3时28分14秒 4 集合成员过滤 trucks 1 100 capacity heavy duty trucks capacity 1是集合索引号放置器 如果有两个父集合 就是 1 2 2020年2月12日星期三3时28分14秒 下面我们学习数据定义 以data 开始 以enddata结束 data enddata 2020年2月12日星期三3时28分14秒 例如 设有如下集合 sets set1 a b c x y endsets 如果想赋值x 1 1 x 2 2 x 3 3 y 1 4 y 2 5 y 3 6 则数据段可以为 2020年2月12日星期三3时28分14秒 data x 1 2 3 y 456 enddata data x y 142536 enddata 多个数据之间可用逗号或空格分隔 2020年2月12日星期三3时28分14秒 若成员属性值相同 数据段定义如下 data x 3 所有成员的x 3 y 6 所有成员的y 6 enddata 2020年2月12日星期三3时28分14秒 也可以在运行时输入属性值 data x 运行时输入所有成员的x值 y 6 enddata 2020年2月12日星期三3时28分14秒 运输问题的数据部分 data capacity 60 55 51 43 41 52 demand 3537223241324338 2020年2月12日星期三3时28分14秒 cost 626742594953858252197433767392712395726555228143 enddata 2020年2月12日星期三3时28分14秒 sets sett x y endsetsdata sett x y a14b25c36 enddata sets sett a b c x y endsetsdata x 123 y 456 enddata 集合成员可以在数据段定义 2020年2月12日星期三3时28分14秒 运输实例 sets warehouses capacity endsetsdata 可以写成warehouses w1 w6 也可以同时定义集合成员列表和属性值 warehouses capacity w160 w255 w351 w443 w541 w652 enddata 2020年2月12日星期三3时28分14秒 初始化定义 只在非线性规划中使用 指定初始值 init endinit 2020年2月12日星期三3时28分14秒 例 init x 0 999 y 0 002 endinity log x x 2 y 2 1 给了恰当的初始值 会减少运算时间 2020年2月12日星期三3时28分14秒 计算段定义 calc endcalc 计算段的作用 在模型输入后 LINGO开始正式求解模型之前对原始数据进行一定的计算 得到我们模型中要使用的部分数据 2020年2月12日星期三3时28分14秒 一个简单的计算段例子 model data x y z 1 2 3 enddatacalc avg x y z 3 endcalcend 2020年2月12日星期三3时28分14秒 目标函数和约束条件段 LINGO提供了集合循环函数和集合操作函数使得目标函数和约束条件的书写如同数学公式那样简单 四个集合循环函数 FOR SUM MAX MIN 2020年2月12日星期三3时28分14秒 sum setname set index list condition expression 求和 2020年2月12日星期三3时28分14秒 运输问题的目标函数 min sum links i j cost i j volume i j min sum links cost volume 2020年2月12日星期三3时28分14秒 运输问题实例中的求和 从6个仓库发到第j个小贩的货物量总和 sum warehouses i volume i j 2020年2月12日星期三3时28分14秒 从第i个仓库发出到8个小贩的货物量总和 sum vendors j volume i j 2020年2月12日星期三3时28分14秒 for setname set index list condition expression list 生成约束 for 对集合setname中的每个成员独立地生成约束 约束由约束表达式列表expression list描述 多个表达式之间用分号相隔 2020年2月12日星期三3时28分14秒 每个小贩的需求约束 要求6个仓库发给每个小贩的货物总量 小贩的需求量 for vendors j sum warehouses i volume i j demand j 2020年2月12日星期三3时28分14秒 每个仓库的供货约束 for warehouses i sum vendors j volume i j capacity i 要求每个仓库发给8个小贩的货物总量 仓库的货存量 2020年2月12日星期三3时28分14秒 运输问题的完整模型 运输问题 lg4 2020年2月12日星期三3时28分14秒 返回集合setname上的表达式expression的最大值 max setname set index list condition expression 2020年2月12日星期三3时28分14秒 min setname set index list condition expression 返回集合setname上的表达式expression的最小值 2020年2月12日星期三3时28分14秒 返回数据集setname中成员element的位置号 下标 集合操作函数 index setname element 2020年2月12日星期三3时28分14秒 model sets girls debbie sue alice boys bob joe sue fred endsetscalc x index boys sue y index sue endcalcend 2020年2月12日星期三3时28分14秒 in set name primitive index 1 primitive index 2 如果数据集set name中包含成员primitive index 1则返回1 否则返回0 2020年2月12日星期三3时28分14秒 例 model sets plants a b c d closed plants b open plants not in closed enddataend 2020年2月12日星期三3时28分14秒 例2 model sets s1 abc s2 xyz s3 s1 s2 a xa zb yc z endsetscalc x in s3 index s1 b index s2 y endcalcend 本例要判断集合s3中是否包含元素 b y 运行LINGO SOLVE得到x 1 说明包含 2020年2月12日星期三3时28分14秒 wrap index limit 当index位于区间 1 limit 时返回index 否则返回j index k limit 其中j位于区间 1 limit 2020年2月12日星期三3时28分14秒 职员时序安排模型 一项工作一周7天都需要有人 比如护士工作 每天 周一至周日 所需的最少职员数为20 16 13 16 19 14和12 并要求每个职员一周连续工作5天 试求每周所需最少职员数 并给出安排 注意这里我们考虑稳定后的情况 2020年2月12日星期三3时28分14秒 sets days mon sun required start endsetsdata required 20161316191412 enddatamin sum days start 最小化每周所需职员数 for days j sum days i i le 5 start wrap j i 2 7 required j 2020年2月12日星期三3时28分14秒 size setname 返回集合setname中所包含的成员个数 2020年2月12日星期三3时28分14秒 第二章LINGO与其它软件交换数据 2020年2月12日星期三3时28分14秒 拷贝 粘贴 FromExel Pastefromexel lg4 2020年2月12日星期三3时28分14秒 输入输出函数 用来与外部数据源连接 text ole file odbc dual 2020年2月12日星期三3时28分14秒 file filename 在模型的集合和数据部分使用 从文本文件输入数据 2020年2月12日星期三3时28分14秒 sets warehouses file 1 txt capacity vendors file 1 txt demand links warehouses vendors cost volume endsets 运输实例的数据可以从文本文件输入 2020年2月12日星期三3时28分14秒 data capacity file 1 txt demand file 1 txt cost file 1 txt enddata 1 txt文件内容1 txt 2020年2月12日星期三3时28分14秒 text filename 在模型的数据部分使用 向文本文件输出数据 Outputtotext lg4 2020年2月12日星期三3时28分14秒 ole spreadsheet file range name list 在模型的数据和集合部分使用 与excel交换数据 2020年2月12日星期三3时28分14秒 运输实例的数据可以从Excel输入 sets warehouses capacity vendors demand links warehouses vendors cost volume endsets 2020年2月12日星期三3时28分14秒 data warehouses vendors capacity demand cost ole 2 xls warehouses vendors capacity demand cost enddata 2020年2月12日星期三3时28分14秒 在Excel中定义单元格范围名称的方法 按鼠标左键拖曳选择单元格范围 释放鼠标按钮 选择 插入 名称 定义 输入希望的名字 点击 确定 按钮 2020年2月12日星期三3时28分14秒 2 xls从Excel输入数据 lg4 2020年2月12日星期三3时28分14秒 odbc data source table name col 1 col 2 在模型的数据部分使用 与数据库进行数据传输 2020年2月12日星期三3时28分14秒 运输实例的数据可以从数据库输入 sets warehouses capacity vendors demand links warehouses vendors cost volume endsets 2020年2月12日星期三3时28分14秒 data warehouses capacity odbc vendors demand odbc links cost odbc odbc volume enddata 2020年2月12日星期三3时28分14秒 trans mdb与数据库的数据传递 lg4 2020年2月12日星期三3时28分14秒 第三章LINGO的内部函数 2020年2月12日星期三3时28分14秒 1 标准运算符 算术运算符 逻辑运算符 EQ NE GE GT LE LT NOT AND OR 2020年2月12日星期三3时28分14秒 关系运算符 可以用 表示 或 2020年2月12日星期三3时28分14秒 运算符的优先级 2020年2月12日星期三3时28分14秒 lingo变量默认域为非负实数 free variable 取消默认域 使变量可以取任意实数 gin variable 限制变量取整数值 bin variable 限制变量取值为0 1 bnd low variable up 限制变量于一个有限的范围 3 变量界定函数 2020年2月12日星期三3时28分14秒 练习1 x1 2 x2 3 Z 17 练习1 2020年2月12日星期三3时28分14秒 练习2 X1 1X2 0X3 1Z 8 练习2 2020年2月12日星期三3时28分14秒 abs x cos x sin x tan x exp x sign x floor x 返回x的整数部分 smax x1 x2 xn 返回x1 x2 xn的最大值 smin x1 x2 xn 4 数学函数 2020年2月12日星期三3时28分14秒 5 条件控制 if logical condition true result false result 计算logical condition 若真返回true result否则返回false result 2020年2月12日星期三3时28分14秒 7个选项卡 可设置80 90个控制参数 2020年2月12日星期三3时28分14秒 范例 2020年2月12日星期三3时28分14秒 整数规划整数规划 lg4 2020年2月12日星期三3时28分14秒 二次规划的例子 lingo lg4 2020年2月12日星期三3时28分14秒 递规调用 lg4 已知 求a 7 2020年2月12日星期三3时28分14秒 学习方法 1 上课各位老师讲的每个有数据的规划模型上机用lingo语言实践 2 LINGO的help下有一项AdditionalExamplesofLINGOModeling 可以仔细研究每个例子的模型 2020年2月12日星期三3时28分14秒 某车间有甲 乙两台机床 可用于加工三种工件 假定这两台车床的可用台时数分别为800和900 三种工件的数量分别为400 600和500 且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表 问怎样分配车床的加工任务 才能既满足加工工件的要求 又使加工费用最低 练习3 2020年2月12日星期三3时28分14秒 练习3 2020年2月12日星期三3时28分14秒 解1设在甲车床上加工工件1 2 3的数量为x1 x2 x3 在乙车床上加工工件1 2 3的数量分别为x4 x5 x6 可建立以下线性规划模型 2020年2月12日星期三3时28分14秒 解2 设在甲车床上加工工件i的数量为x i 单位工件所需加工台时数为timex i 单位工件的加工费用为costx i 在乙车床上加工工件i的数量为y i 单位工件所需加工台时数为timey i 单位工件的加工费用为costy i 工件i的加工数量为demand i 2020年2月12日星期三3时28分14秒 数学模型 2020年2月12日星期三3时28分14秒 Lingo建模 sets Chechuang 1 3 costx costy timex timey x y demand endsets 2020年2月12日星期三3时28分14秒 Lingo建模 min sum chechuang costx x costy y sum chechuang timex x 800 sum chechuang timey y 900 for chechuang x y demand for chechuang gin x gin y 2020年2月12日星期三3时28分14秒 data costx 13 9 10 costy 11 12 8 timex 0 4 1 1 1 timey 0 5 1 2 1 3 demand 400 600 500 enddata 练习3 2020年2月12日星期三3时28分14秒 Lingo Generate Displaymodel MODEL 1 MIN 13 X 1 11 Y 1 9 X 2 12 Y 2 10 X 3 8 Y 3 2 0 4 X 1 1 1 X 2 X 3 800 3 0 5 Y 1 1 2 Y 2 1 3 Y 3 900 4 X 1 Y 1 400 5 X 2 Y 2 600 6 X 3 Y 3 500 GIN X 1 GIN Y 1 GIN X 2 GIN Y 2 GIN X 3 GIN Y 3 END 2020年2月12日星期三3时28分14秒 练习4 求S到T的最短路 2020年2月12日星期三3时28分14秒 model sets cities s a1 a2 a3 b1 b2 c1 c2 t l roads cities cities s a1s a2s a3a1 b1a1 b2a2 b1a2 b2a3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论