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 FillRandomNumbers()Dim rng As RangeDim cell As RangeDim minValue As DoubleDim maxValue As Double' 设置随机数的最小值和最大值minValue = 0#maxValue = 120#' 设置要填充随机数的范围Set rng = Range("B2:E89")' 遍历每个单元格并填充随机数For Each cell In rngcell.Value = minValue + (maxValue - minValue) * RndNext cell
End Sub
Sub OptimizeRows()Dim i As IntegerFor 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' 重置 SolverSolverResetNext 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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/52905.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java设计模式【解释器模式】-行为型

1. 介绍 1.1 什么是解释器模式? 解释器模式(Interpreter Pattern)是一种行为型设计模式,它为某种语言定义其文法的一种表示,并定义一个解释器,使用该解释器来解释语言中的句子。通俗来说,解释…

突破代码:克服编程学习中的挫折感

目录 一、心态调整:心理韧性的培养 接受挫折是学习的一部分 设置实际的学习目标 保持学习的乐趣 二、学习方法:策略的实施 逐步解决问题 寻找多样的学习资源 定期复习与实践 三、成功经验:实例的启示 Debug的技巧掌握 算法的深入理…

云轴科技ZStack与鼎甲科技共创数据保护新篇章

在数字化转型的浪潮中,数据安全和业务连续性成为了企业关注的焦点。云轴科技ZStack与鼎甲科技基于鼎甲迪备新版全面支持 ZStack Cloud 云平台备份与恢复服务,为用户提供更安全、高效的数据保护解决方案。 ZStack Cloud云平台的本地备份数据功能&#xff…

开发中如何在运行/调试时将项目热部署到Tomcat

这里有一篇不错的博客,可以参考 http://t.csdnimg.cn/oWcgm 正常情况下,我们将web项目打包成war包后,需要放到tomcat的webapps路径下,然后启动tomcat,才能正常访问。但是这在开发阶段是极为不便的。因此可以使用两种方…

Qt_两种创建组件的方式-通过图形化-通过代码

文章目录 一、通过图形化的方式,在界面上创建一个控件,显示hello world1.打开UI设计界⾯2.拖拽控件⾄ ui 界⾯窗⼝并修改内容3.构建并运行 二、通过代码的方式,通过编写代码,在界面上创建控件,显示hello world在Widget…

AIGC提示词(2):塑造未来内容创作的核心力量

引言 🌟 在这个数字化的时代,人工智能生成内容(AIGC)正变得越来越普遍。从自动写作到图像生成,AI正以前所未有的速度和多样性创造内容。然而,要实现高质量和相关性强的内容生成,关键在于有效地…

深入理解Spring Boot配置文件的高级用法

一、Spring Boot配置文件基础 1.1 常用配置文件格式 Spring Boot支持两种配置文件格式:properties 和 YAML。 1.1.1 Properties格式 application.properties 文件是最常见的配置文件格式。它以键值对的形式配置内容,格式简单直观。 server.port8080…

报错记录1:imx6ull适配ov2640摄像头报错unknown mbus:xxx

文章目录 报错内容报错代码报错原因 解决 报错内容 [ 376.346236] unknown mbus:0x1007 [ 376.350166] mx6s-csi 21c4000.csi: mbus (0x00001007) invalid.报错代码 在mx6s_capture.c文件中,找到此行报错的调用路径。 static int mx6s_vidioc_enum_fmt_vid_cap…

已成功入职小米大模型岗!!大模型面试其实挺水的,hr听到这些直接过

小米大模型面试180题 1、目前比较受欢迎的开源大模型有哪些? GPT系列:由OpenAl开发的生成式预训练模型,如 GPT-3。 BERT系列:由Google开发的转换式预训练模型,如BERT、RoBERTa等。 T5系列:由Google开发的基…

003、架构_详解(重点)

GoldenDB 分布式数据库框架 DN和RDB增加了备节点;引入新模块CM,且GTM、MDS、PM、CM都增加备节点;MDS、PM、CM、RDB被统一在了管理节点之中;GTM和MDS间多了一条连线,因为GTM的切换由MDS把控;初步系统架构mysqld:一般称为DB节点,负责单个节点的数据处理; dbproxy:一般…

CSS学习3

样式表 一、内部样式表二、行内样式表&#xff08;内联样式&#xff09;三、外部样式表&#xff08;外链样式&#xff09;总结 一、内部样式表 在html内部成为内部样式表&#xff0c;用style标签定义。 可以放在html任何地方&#xff0c;包括html标签外部。 <html><…

Gitee上传项目(从0开始)

1.默认你Git已经下载好的情况下。 下载好的两种显示&#xff1a; 1.右击桌面显示这个 2.如果没有情况1出现&#xff0c;需要自己去创建快捷方式 2.去网站创建仓库 网站参考&#xff1a;yanyongzhitest/java_web - 码云 - 开源中国 (gitee.com) 新建仓库&#xff1a; 仓库名…

day_59

47. 参加科学大会&#xff08;第六期模拟笔试&#xff09; import queueclass Edge:def __init__(self, t, w):self.t t self.w w def main():n, m map(int, input().split())grid [[] for _ in range(n 1)]for _ in range(m):s, t, w map(int, input().split())grid[s]…

Nginx负载均衡请求队列配置:优化流量管理

在高流量的Web应用场景中&#xff0c;合理地管理进入的请求流量对于保持服务的稳定性和响应性至关重要。Nginx提供了请求队列的配置选项&#xff0c;允许开发者控制进入后端服务器的请求数量。通过配置请求队列&#xff0c;可以在后端服务器达到最大处理能力时&#xff0c;优雅…

【计算机组成原理】3.2.0+3.2.3 主存储器的基本组成

3.2.03.2.3 主存储器的基本组成 00:00 各位同学大家好&#xff0c;在这个小节中我们会学习主存储器的基本组成。这个小节的内容本来是在王道书里的3.3那个小节&#xff0c;但是我们会把这部分的内容把它提到3.2之前来讲解。因为学习这个小节的内容&#xff0c;可以让大家能够…

版本管理工具 Git 的下载安装及使用

1 基本介绍 Git 是目前最流行的分布式版本控制软件 什么是分布式版本控制软件&#xff1f; 所有版本信息仓库全部同步到本地的每个用户可以在本地查看所有版本历史&#xff0c;可以离线在本地提交&#xff0c;只需在连网时 push 到相应的服务器或其他用户那里。每个用户那里…

滑动窗口系列(定长滑动窗口长度)8/31

1.长度为K子数组中的最大和 给你一个整数数组 nums 和一个整数 k 。请你从 nums 中满足下述条件的全部子数组中找出最大子数组和&#xff1a; 子数组的长度是 k&#xff0c;且子数组中的所有元素 各不相同 题意&#xff1a; 在之前题目的基础上添加了一个条件&#xff1a;…

22. LinkedHashMap和HashMap有什么区别?为什么LinkedHashMap能保持元素的插入顺序?

LinkedHashMap 和 HashMap 都是 Java 中用于存储键值对的集合类&#xff0c;但它们在一些关键特性上有所不同&#xff0c;尤其是在元素的顺序和性能方面。以下是它们之间的主要区别&#xff1a; 1. 元素的顺序 HashMap: HashMap不保证元素的顺序。元素的顺序可能会在插入、删除…

453.最小操作次数使数组元素相等

453.最小操作次数使数组元素相等 给你一个长度为 n 的整数数组&#xff0c;每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;3 解释&#xff1a; 只需要3次操作&#xff08;…

全国设计院排名 境外工程项目管理营业额二〇二三年排名

境外工程项目管理营业额二〇二三年排名 单位&#xff1a;万元人民币 序号 公 司 名 称 营业额 1 中国铁路设计集团有限公司 37,515 2 中冶南方工程技术有限公司 12,453 3 中国恩菲工程技术有限公司 8,940 4 中冶华天工程技术有限公司 7,646 5 中国电建集团华东…