matlab求解线性方程组。。。。

查看: 19304|回复: 22
规划求解工具
阅读权限90
在线时间 小时
本帖已被收录到知识树中,索引项:
规划求解工具,也称作“假设分析”。工作表中公式计算结果,在变动单元格中的变量后,结果出现变化,例如:
1、根据已知结果倒推变量应赋予的初值:利润=销售额-成本-税收;而税收=利润*3%之类,可以用单变量求解、循环引用,也可规划求解。
2、根据已知参数和配比,寻找最佳组合方案:这种应用案例居多
阅读权限90
在线时间 小时
本帖最后由 yiyiyicz 于
14:10 编辑
Sub tt()
& &Dim i As Integer
& &For i = 3 To 100
& & SolverReset
& & SolverOk SetCell:=&$L$& & i, MaxMinVal:=3, ValueOf:=&0&, byChange:=&$G$& & i & &:$J$& & i
& & SolverAdd CellRef:=&$G$& & i & &:$J$& & i, Relation:=4, formulaText:=&整数&
& & SolverAdd CellRef:=&$G$& & i & &:$J$& & i, Relation:=1, formulaText:=&10&
& & SolverAdd CellRef:=&$G$& & i & &:$J$& & i, Relation:=3, formulaText:=&0&
& & SolverOk SetCell:=&$L$& & i, MaxMinVal:=3, ValueOf:=&0&, byChange:=&$G$& & i & &:$J$& & i
& & SolverSolve Userfinish = False
& & Next i
End Sub
复制代码前面加 SolverReset 设置重置
最后 SolverSolve Userfinish = False
byChange:=&$G$& & i & &:$J$& & i&&可以改用 cells( )
阅读权限90
在线时间 小时
Q:已经在“加载项”加载了“规划求解”,为何在VBA中调用规划求解工具还是出现“子过程或函数未定义”错误?
A:必须建立对规划求解加载宏的引用,操作方法如下:
在VBE窗口中,单击“工具”→“引用,从“可使用的引用”列表框中选择“Solver.xla”或“Solver”复选框。
1、菜单中的“引用”是灰色的?——可能是执行代码出错,先停止代码运行。
2、Excel 2003 则把Office 14改为Office 11
3、是引用Solver.xla,不是.dll
阅读权限90
在线时间 小时
本帖最后由 yiyiyicz 于
14:25 编辑
根据货物数量和纸箱规格优化装货
有一批货物需要用纸箱包装后运走,目前有5种规格的纸箱,分别可以装下24、16、12、8和5个货品。如何根据货品的数量来决定装箱的方案,以便尽量装满纸箱和尽量少用纸箱?
14:43:16 上传
下载附件 (25.65 KB)
这是一个典型的优化方案求解类型,使用规划求解功能求解最小值。
【模型构建】
G5单元格公式:
=SUM(B5:F5)
H5单元格公式:
=SUMPRODUCT(B$4:F$4,B5:F5)-A5
分别求得所用纸箱数量和空位(比如拿规格为5的箱子装了3个货品,则空位为2)
I5单元格输入:
=G5+H5*1000
为何H5*1000——这只是一个意思,表示H5比G5重要,也就是说,能够刚好都装满箱子没有空位是前提,然后再是尽量少用箱子。
【规划求解】设置:
即:I5作为目标单元格,求“最小值”
B5:F5作为可变单元格,添加整数、&=0的约束;H5添加&=0的约束求解
阅读权限90
在线时间 小时
本帖最后由 yiyiyicz 于
14:49 编辑
根据货物数量和纸箱规格优化装货(续)
每次在A5单元格输入货品数量,再调用规划求解工具,这个操作很繁琐。因此,做了个按钮,在VBA中调用规划求解工具:
代码如下:
Sub 求解()Range(&I5&).Formula = &=G5+H5*1000&SolverReset& & SolverOk SetCell:=&I5&, MaxMinVal:=2, ValueOf:=&0&, byChange:=&B5:F5&& & SolverAdd CellRef:=&B5:F5&, Relation:=4, formulaText:=&整数&& & SolverAdd CellRef:=&B5:F5&, Relation:=3, formulaText:=&0&& & SolverAdd CellRef:=&H5&, Relation:=3, formulaText:=&0&& & SolverOptions AssumeLinear:=False& & SolverSolve UserFinish:=True& & SolverFinish KeepFinal:=1End Sub
Excel 2007的规划求解与2003版有较多变动,Engine=1在2007版中表示“非线性”求解,
在Excel 2003版中,对应为:SolverOptions AssumeLinear:=False
阅读权限90
在线时间 小时
本帖最后由 yiyiyicz 于
14:37 编辑
根据货物数量和纸箱规格优化装货(续)
【设置目标单元格和求解模式】
SolverOk SetCell:=Range(&I5&),设置目标单元格,此处为I5单元格
MaxMinVal:=2 ,设置求解最值模式,=1是求最大值,=2是求最小值,=3是“目标值”并设置目标值的具体数值ValueOf:=&0&(目标值为0,本例可以不用)
【设置可变单元格】
byChange:=Range(&B5:F5&),设置可变单元格为B5:F5
【添加约束条件】
Solveradd CellRef:=Range(&B5:F5&), Relation:=4, formulaText:=&整数&
添加约束条件,其中,Relation:=4 表示约束单元格与约束值的关系,1为&=,2为=,3为&=,4为INT,5为BIN,6为DIF
formulatext则是约束的值。
【设置求解模型】
Engine:=1,所使用的“引擎”为1,表示 表示单工 LP 方法(线性规划),2 表示 GRG 非线性方法,或 3 表示进化方法(2010版称“演化”)。
阅读权限90
在线时间 小时
本帖最后由 yiyiyicz 于
14:37 编辑
根据货物数量和纸箱规格优化装货(续)
【是否手工确认求解结果】
此时,如果是代码:
Sub 求解()Range(&I5&).Formula = &=G5+H5*1000&SolverReset& & SolverOk SetCell:=Range(&I5&), MaxMinVal:=2, ValueOf:=&0&, byChange:=Range(&B5:F5&), Engine:=1& & Solveradd CellRef:=Range(&B5:F5&), Relation:=4, formulaText:=&整数&& & Solveradd CellRef:=Range(&B5:F5&), Relation:=3, formulaText:=&0&& & Solveradd CellRef:=Range(&H5&), Relation:=3, formulaText:=&0&& & SolverSolve& & '相当于按“求解”按钮End Sub
用SolverSolve作为结束,则会弹出“规划求解”完成后的确认对话框
需要用户手工点击“确认”后,才可以结束。这个比较麻烦,因而使用SolverSolve UserFinish:=True& & 直接代替手工按了“确认”按钮。
阅读权限90
在线时间 小时
本帖最后由 yiyiyicz 于
14:44 编辑
在VBA中通过调用SolverOptions函数来设置“规划求解”参数
《参见帮助》
MaxTime& &Variant 类型,可选。规划求解解决问题所花费的最长时间(以秒为单位)。该值必须为正整数。
Iterations& &Variant 类型,可选。迭代规划求解解决问题所花费的最长时间。该值必须为正整数。
Precision& &Variant 类型,可选。一个介于 0(零)和 1 之间的数字,用于指定约束(包括整数约束)必须达到的精度。默认精度为 0.000001。小数位数越少(例如 0.0001),表示精度越低。一般而言,指定的精度越高(该数字越小),规划求解为进行求解而花费的时间越长。
AssumeLinear& &Variant 类型,可选。如果为 True,则规划求解时将假定模型是线性的。这将加快求解速度,但仅应当用于模型中所有的关系均为线性的情况。默认值为 False。
StepThru& &Variant 类型,可选。如果为 True,则在每次试解时都会导致规划求解暂停。使用 SolverSolve 函数的 ShowRef 参数可以在每次暂停时向规划求解传递一个宏运行。如果为 False,则在每次试解时不暂停规划求解。默认值为 False。
Estimates& &Variant 类型,可选。指定用于估计每个一维基本变量初始值的方法:1 表示正切函数估值,而 2 表示二次方程估值。正切函数估值使用正切向量的线性外插法。二次方程估值使用二次外插法;这将有利于求解高度非线性的问题。默认值为 1(正切函数估值)。
Derivatives& &Variant 类型,可选。指定目标函数和约束函数的偏导式估值使用向前差分还是中心差分:1 表示向前差分,2 表示中心差分。中心差分所需的工作表重新计算较多,但如果求解某些问题时出现“规划求解无法改善解”的信息,则使用中心差分将有所帮助。对约束函数在极限值附近快速变化的情况,应使用中心差分。默认值为 1(向前差分)。
SearchOption& &Variant 类型,可选。使用“搜索”选项可指定每次迭代时所使用的搜索算法,该搜索算法将决定搜索的方向:1 表示牛顿搜索方法,2 表示共轭搜索方法。使用准牛顿法的牛顿法是默认的搜索方法。
IntTolerance& &Variant 类型,可选。一个介于 0(零)和 100 之间的十进制数字,用于指定“整数最优”百分比公差。本参数仅适用于定义了整数约束的情况。它指定规划求解可在以下情况下停止:它找到可行整数解,该解的目标处于真正整数最优解的目标上最佳已知界限的此百分比范围内。较高的百分比公差有助于加快求解过程。
Scaling& &Variant 类型,可选。如果目标或约束之间相差多个数量级,例如,基于数额达百万美元的投资最大程度地提高利润百分比,则将此选项设置为 True,让规划求解在计算期间在内部将目标和约束值重新缩放至类似的数量级。如果此选项为 False,则规划求解将使用原目标和约束值执行计算。默认值为 True。
Convergence& &Variant 类型,可选。一个介于 0(零)和 1 之间的数字,用于指定“GRG 非线性求解”和“进化求解”方法的收敛度公差。对于 GRG 方法,当最后五次迭代中目标单元格值的相对改变量小于此公差时,规划求解将停止。对于“进化”方法,当 99% 或更多总体成员具有“拟合”值,且这些值的相对差值(百分比形式)小于此公差时,规划求解将停止。在这两种情况下,规划求解都将显示消息“规划求解收敛于当前解。满足所有约束。”
AssumeNonNeg& &Variant 类型,可选。如果为 True,则规划求解假设所有在“约束”列表框中没有明确下限的决策变量单元格(这些单元格必须包含非负值)的下限为 0(零)。如果为 False,则规划求解仅使用在“约束”列表框中指定的限制。
PopulationSize & &Variant 类型,可选。如果为 True,则规划求解假设所有在“约束”列表框中没有明确下限的决策变量单元格(这些单元格必须包含非负值)的下限为 0(零)。如果为 False,则规划求解仅使用在“约束”列表框中指定的限制。
RandomSeed & &Variant 类型,可选。如果值为正整数,则为“进化求解”方法和多启动方法使用的随机数字生成器指定固定基数以实现全局优化。这意味着,规划求解每次在没有变化的模型上运行时都会找到同一解。如果值为零,则指定规划求解应在每次运行时为随机数字生成器使用不同的种子,这样,当它每次在没有变化的模型上运行时,都会生成不同的解。
MultiStart & &Variant 类型,可选。如果为 True,则规划求解会在调用 SolverSolve 时针对“GRG 线性求解”方法使用多启动方法来实现全局优化。如果为 False,则规划求解仅在调用 SolverSolve 时调用一次“GRG 求解”方法,而不使用多启动。
RequireBounds & &Variant 类型,可选。如果为 True,且任何变量都没有定义下限和上限,则“进化求解”方法和多启动方**立即通过调用 SolverSolve 来返回值 18。如果为 False,则这两种方**尝试在不限定所有变量的情况下解决问题。
MutationRate & &Variant 类型,可选。一个介于 0(零)和 1 之间的数字,用于指定“进化求解”方法将对现有总体成员进行“突变”的速率。突变率越高,越会增加总体的多样性,并且生成的解越好。
MaxSubproblems & &Variant 类型,可选。规划求解在包含整数约束的问题中以及通过“进化求解”方法解决的问题中浏览的子问题的最大数量。该值必须为正整数。MaxIntegerSols & &Variant 类型,可选。规划求解在包含整数约束的问题中以及通过“进化求解”方法解决的问题中考虑的可行(或整数可行)解的最大数量。该值必须为正整数。
SolveWithout & &Variant 类型,可选。如果为 True,则规划求解将忽略所有整数约束并解决问题的“缓和”。如果为 False,则规划求解在解决问题时使用整数约束。
MaxTimeNoImp & &Variant 类型,可选。当使用“进化求解”方法时,规划求解在不查找要添加到总体中的明显改进解的情况下继续执行求解的最长时间(以秒为单位)。该值必须为正整数
阅读权限90
在线时间 小时
本帖最后由 yiyiyicz 于
14:52 编辑
程序里面两个SolverAdd条件,但是运行结果发现其中一个条件Relation:=2, FormulaText:=1总是没有满足。
Sheet5.Activate
& & SolverReset
& & SolverOptions precision:=0.001
& & SolverOK SetCell:=Range(&D22&), _
& && &&&MaxMinVal:=2, _
& && &&&ByChange:=Range(&E8:E17&)
& & SolverAdd CellRef:=Range(&E18&), _
& && &&&Relation:=2, _
& && &&&FormulaText:=1
& & SolverAdd CellRef:=Range(&E8:E17&), _
& && &&&Relation:=3, _
& && &&&FormulaText:=0
& & SolverSolve UserFinish:=True
有时规划求解运算超时,此时仍会跳出另一个对话框(超时选项对话框)
阅读权限30
在线时间 小时
& & & & & & & &
好贴,多谢楼主。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师浏览856次|&未解决
背景资料:
某水闸共2孔,净宽分别为左侧12.0m及右侧8.0m,左侧闸孔兼做船闸的上闸首,为Ⅶ级船闸,船闸闸室长160m。闸室为钢筋混凝土结构,底板厚1.5m,底板顶高程为29.8m;中墩厚1.2m,边墩厚1.0m,墩顶高程为41.4m;闸室顺水流方向长度为17.0m,垂直水流方向宽度为24.2m。采用钢筋混凝土灌注桩基础。船闸闸室采用“U”形混凝土结构,底板厚1.3m,闸墙高6.0~6.6m,闸室有效尺寸为160m×12m×2.0m(长x宽×门槛水深),参与泄洪、排涝及引水。工程施工中有如下事件。
事件一:钢筋混凝土灌注桩的若干施工内容为:①桩机就位;②桩位放样;③清孔;④导管安装;⑤钻孔;⑥钢筋笼吊放;⑦混凝土灌注。
事件二:施工单位浇筑灌注桩混凝土时,初盘混凝土导管埋深为0.5m。
事件三:新进场同一批次钢筋65t,施工、监理单位共同检查了出厂合格证、质量保证书和外观质量,并测量了钢筋直径,合格后施工单位在监理人员见证下对此批次钢筋抽取了一组试样送检,取样方法是在其中任意抽取一根钢筋,然后截取端头500mm后再截取1个拉伸试样和1个弯曲试样送验。
事件四:本工程闸室灌注桩划分为一个单元,工程名称为闸室灌注桩,共计30根,单元工程编号YGT-F02—011。施工单位根据《水利水电工程单元工程质量验收评定标准一地基处理与基础工程》S1 633~2012的规定,对YGT-F02—011的第10号灌注桩,钢筋笼制作安装工序施工质量进行了检查和检测,相关结果填于下表中。
钢筋笼制作安装工序施工质量验收评定表
1.指出事件一中七项工程内容之间的合理施工顺序。
2.事件二中的导管埋深深度是否妥当?说明理由。如果灌注桩直径1m,导管底端距孔底0.5m,孔内泥浆比重为1.15g/cm3,孔内泥浆深度为36m,导管内径为250mm,导管长度36m,首批灌注混凝土的数量应能满足导管首次埋置深度1m,那么首批灌注混凝土的数量是多少?
3.事件三中的钢筋取样方法是否妥当?说明理由。
4.填写事件四中①~⑥项所代表的数据;指出本工序的质量等级并说明理由。
我有更好的答案:
其它1条回答
1zdwangxiao2013采纳:2.7%
1.【参考答案】
②、①、⑤、③、⑥、④、⑦。
【考点解析】
这是一道工程技术题目,考察考生对钻孔灌注桩的施工工序的掌握。
参照《建筑桩基技术规范》JGJ 94—2008中第6章中的规定。
2.【参考答案】
(1)不妥当。根据《建筑桩基技术规范》JGJ
94—2008中第6.3.30条第2款:应有足够的混凝土储备量,导管一次埋入混凝土灌注面以下不应少于0.8m。
【考点解析】
这是一道工程技术题目,考察考生对混凝土灌注桩初灌混凝土导管埋深和的首批灌注混凝土量的计算掌握。本题主要考察灌注桩混凝土初灌导管埋深和的首批灌注混凝土量的计算。
(1)根据《建筑桩基技术规范》JGJ
94—2008中第6章中的规定,灌注水下混凝土的质量控制应满足下列要求:
①开始灌注混凝土时,导管底部至孔底的距离宜为300~500mm;
②应有足够的混凝土储备量,导管一次埋入混凝土灌注面以下不应少于0.8m;
③导管埋入混凝土深度宜为2~6m。严禁将导管提出混凝土灌注面,并应控制提拔导管速度,应有专人测量导管埋深及管内外混凝土灌注面的高差,填写水下混凝土灌注记录;
④灌注水下混凝土必须连续施工,每根桩的灌注时间应按初盘混凝土的初凝时间控制,对灌注过程中的故障应记录备案;
⑤应控制最后一次灌注量,超灌高度宜为0.8~1.0m,凿除泛浆高度后必须保证暴露的桩顶混凝土强度达到设计等级。
(2)根据《公路桥涵施工技术规范》JTGTF
50一2011中第8.2.11条灌注水下混凝土应符合下列规定:
①水下混凝土的灌注时间不得超过首批混凝土的初凝时间。
②混凝土运至灌注地点时,应检查其均匀性和坍落度等,不符合要求时不得使用。
③首批灌注混凝土的数最应能满足导管首次埋置深度1.0m以上的需要,所需混凝土数量可按下列式计算:
3.【参考答案】
事件三的取样数量和取样方法不妥,应分别从任选三根钢筋中分别抽取3个拉伸试样和3个弯曲试样。
【考点解析】
这是一道工程技术题目,考察考生对钢筋原材料的取样规范的掌握。主要考查钢筋的检验批和取样数量。
根据《钢筋混凝土用钢第2部分:热轧带肋钢筋》GB 07第9.2.2.1条,钢筋应按批检查和验收,每批由同一牌号、同一炉罐号、同一规格的钢筋组成。每批重量通常不大于60t。超过60t的部分,每增加40t(或不足40t的余数),增加一个拉伸试验试样和一个弯曲试验试样。根据8.1检验项目规定,拉伸和弯曲的一组试件分别为2个,并且从任选两根钢筋中抽取。所以事件三的取样数量和取样方法不妥,应分别从任选三根钢筋中分别抽取3个拉伸试样和3个弯曲试样。
4.【参考答案】
(1)①:100;②:100;③:90.0;④:87.5;⑤:89.9;⑥:89.9。
(2)合格。根据《水利水电工程单元工程质量验收评定标准一地基处理与基础工程》S1 633—.5条规定,工序施工质量验收评定分为合格和优良两个等级,其合格标准应符合下列规定:
1)主控项目,检验结果应全部符合本标准的要求。
2)一般项目,逐项应有70%及以上的检验点合格,且不合格点不应集中。
3)各项报验资料应符合本标准的要求。
【考点解析】
这是一道工程技术题目,考察考生对数据处理和工序质量评定质量等级的掌握。
(1)《水利水电工程施工质量检验与评定规程》S1
176~.2条规定:
①数据保留位数,应符合国家及行业有关试验规程及施工规范的规定。计算合格率时,小数点后保留一位。
②数值修约应符合GB
8170一87的规定。
(2)根据《水利水电工程单元工程质量验收评定标准一地基处理与基础工程》S第3.2.5条规定,工序施工质量验收评定分为合格和优良两个等级,其标准应符合下列规定:
1)合格等级标准应符合下列规定:
①主控项目,检验结果应全部符合本标准的要求。
②一般项目,逐项应有70 %及以上的检验点合格,且不合格点不应集中。
③各项报验资料应符合本标准的要求。
2)优良等级标准应符合下列规定:
①主控项目,检验结果应全部符合本标准的要求。
②一般项目,逐项应有90%及以上的检验点合格,且不合格点不应集中。
③各项报验资料应符合本标准的要求。还有手机的时候用照片编辑反转一下不就好了,反正也是要放电脑的
您的举报已经提交成功,我们将尽快处理,谢谢!
看说明书它会教你怎么调的,而且还有说哪个时间段是不能调时钟的,或者你拿去专柜有专业人员帮你调,还会教你怎么正确调卡西欧的手表
镜像是拍出来左右相反的!跟照镜子一样。没办法 下个ps app 里面的flip可以帮助旋转镜像 flip app 也行 都是免费的
大家还关注
(window.slotbydup=window.slotbydup || []).push({
id: '2081942',
container: s,
size: '1000,60',
display: 'inlay-fix'}

我要回帖

更多关于 规划求解 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信