excel规划求解结合vba宏笔记

目录

概念与配置

规划求解定义

excel设置规划求解

宏的基本操作

excel批量进行规划求解案例

加载规划求解模块

宏的设置

宏录制vba

其他案例


概念与配置

规划求解定义

运用“规划求解”定义并求解问题 - Microsoft 支持

excel设置规划求解

EXCEL规划求解的简明教程 - 知乎 (zhihu.com) 

excel中的批量操作可以使用vba宏来进行操作

宏的基本操作

Excel-VBA 快速上手(一、宏、VBA、过程、类型与变量、函数)_excel vba-CSDN博客

复杂的宏可以使用宏录制

Excel 宏教程:录制宏基础 - 懒人Excel (lanrenexcel.com)

使用宏录制器自动执行任务 - Microsoft 支持

excel批量进行规划求解案例

批量处理通常可以使用vba进行编写来实现,通过宏录制结合gpt可以 实现零基础实现复杂的批处理。

加载规划求解模块

通过设置进行规划求解

宏的设置

然后就可以编写了

宏录制vba

自行设置

然后进行规划求解

输入你的约束函数等信息

完成后点击停止录制

就可以看到我们宏录制的vba了

运行代码前需要引入

然后通过gpt进行修改完善

例如我的vba

Sub OptimizeRows()
    Dim i As Integer

    
    For i = 223 To 224
        ' 设置 Solver 参数
        SolverOk SetCell:="$I$" & i, MaxMinVal:=3, ValueOf:=0, ByChange:="$B$" & i & ":$E$" & i, _
            Engine:=1, EngineDesc:="GRG Nonlinear"
        
        ' 添加 Solver 约束
        SolverAdd CellRef:="$B$" & i & ":$E$" & i, Relation:=1, FormulaText:="100"
        SolverAdd CellRef:="$H$" & i, Relation:=1, FormulaText:="8"
        SolverAdd CellRef:="$H$" & i, Relation:=3, FormulaText:="4"
        
        ' 求解
        SolverSolve
        
        ' 重置 Solver
        SolverReset
    Next i
End Sub

   ' 重置 Solver
        SolverReset

重点注意这个,会重置规划求解。不然每次都会添加你的约束条件

相当于下图的全部重置

这段VBA代码用于在Excel中利用求解器(Solver)解决优化问题。以下是每部分的解释:

  1. Dim i As Integer: 声明一个整型变量 i,用于循环控制。

  2. For i = 27 To 224: 启动一个循环,从第27行到第224行逐行处理。

  3. SolverOk SetCell:="$I$" & i, MaxMinVal:=3, ValueOf:=0, ByChange:="$B$" & i & ":$E$" & i, Engine:=1, EngineDesc:="GRG Nonlinear": 设置求解器的目标单元格为第i行的I列,优化目标为该单元格的值为0,允许更改B列到E列的单元格,使用“GRG Nonlinear”求解引擎。

  4. SolverAdd CellRef:="$B$" & i & ":$E$" & i, Relation:=1, FormulaText:="100": 为第i行的B列到E列单元格设置一个约束条件,要求这些单元格的值不超过100。

  5. SolverAdd CellRef:="$H$" & i, Relation:=1, FormulaText:="8": 为第i行的H列单元格设置一个约束条件,要求该单元格的值不超过8。

  6. SolverAdd CellRef:="$H$" & i, Relation:=3, FormulaText:="4": 为第i行的H列单元格设置另一个约束条件,要求该单元格的值至少为4。

  7. SolverSolve: 执行求解器计算以找到满足所有约束条件的最优解。

  8. Next i: 结束当前循环,继续到下一行。

这样,代码会对每一行应用相同的求解器设置和约束条件,并寻找每一行的最优解。

其他案例

Excel规划求解的vba调用_规划求解 vba-CSDN博客

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

返返返

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值