excel规划求解结合vba宏笔记

news2024/11/13 12:47:57

目录

概念与配置

规划求解定义

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博客

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

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

相关文章

OpenAI的GPT-4模型详细介绍:研发能力、应用场景、开发的合作、持续投入

Open AI GPT-4的详细介绍 OpenAI的GPT-4模型展现出了强大的研发能力: 这主要体现在以下几个方面: 1. 庞大的模型规模和参数数量 GPT-4拥有超过1万亿个参数,这是其前代模型GPT-3的显著扩展。如此庞大的模型规模使得GPT-4能够处理更为复杂…

如何从人机环境系统中捕捉语义

从人机环境系统中捕捉语义主要涉及将系统中的数据和信息转化为具有实际意义的内容,以便更好地理解和响应用户的需求。以下是几种常见的方法来捕捉语义: 1. 自然语言处理 (NLP) 方法:使用自然语言处理技术来分析和理解用户输入的文本或语音。N…

8.27-dockerfile的应用+私有仓库的创建

一、dockerfile应用 通过dockerfile创建⼀个在启动容器时,就可以启动httpd服务的镜像 1.步骤 : 1.创建⼀个⽬录,⽤于存储Docker file所使⽤的⽂件2.在此⽬录中创建Docker file⽂件,以及镜像制作所使⽤的⽂件3.使⽤docker build创建镜像4.使…

MySQL集群技术3——MySQL高可用之组复制

MySQL高可用之组复制 MySQL Group Replication(简称 MGR )是 MySQL 官方于 2016 年 12 月推出的一个全新的高可用与高扩 展的解决方案 组复制是 MySQL 5.7.17 版本出现的新特性,它提供了高可用、高扩展、高可靠的 MySQL 集群服务 MySQL 组复制分单主模式和多主模式…

大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

IngsollRang拧紧Insight IC-D控制器维修 系统参数设置

——设置菜单 Setup(设置)菜单及其子菜单用于编写拧紧策略并设置许多重要的系统参数。 在Setup(设置)菜单中,创建基本拧紧策略。 除策略外,您可以使用Setup(设置)菜单来设置时间、显…

堆和栈的概念和区别

文章目录 堆和栈的概念和区别栈 (Stack)堆 (Heap)详细描述补充说明逃逸分析 (Escape Analysis)栈上分配 (Stack Allocation)堆碎片化 (Heap Fragmentation) 堆和栈的概念和区别 堆和栈的概念和区别【改编自博客】 在说堆和栈之前,我们先说一下JVM(虚拟…

家里两个路由器IP地址一样吗?‌IP地址冲突怎么办?‌

在家庭网络环境中,‌随着智能设备的不断增多和网络需求的日益提升,‌很多家庭选择使用两个或更多的路由器来扩展网络覆盖、‌提高网络性能。‌然而,‌在设置和使用多个路由器的过程中,‌一个常见且令人困惑的问题是:‌…

C++常见面试题(面试中总结)

文章目录 原文章链接1、回调函数的了解?2、递归算法解释?3、内存对齐解释?4、一种排序算法解释(快速排序)5、什么是多态?6、基类为什么需要虚析构函数?7、new和malloc的区别?8、指针…

ubuntu中安装Mysql以及使用Navicat远程连接的详细步骤【图文教程】

安装步骤 注意:建议大家都安装Ubuntu22.04的版本,在该版本下再安装MySQL8.0版本的数据库。 1查看当前是否安装了MySQL程序 $ dpkg -l |grep mysql 执行以上命令,如果执行后什么都没有,则进入到MySQL的安装步骤 2如果执行以上…

MATLAB进阶:应用微积分

今天我们继续学习matlab中的应用微积分 求导(微分) 1、数值微分 n维向量x(xi,x,… x)的差分定义为n-1维向量△x(X2-X1,X3-X2,…,Xn- Xn-1)。 diff(x) 如果x是向量,返回向量x的差分如果x是矩…

初识Linux · 有关gcc/g++

目录 前言: 1 gcc和g 2 翻译过程 2.1 预处理 2.2 编译 2.3 汇编 2.4 链接 前言: 继上文介绍了vim 和 yum,相当于介绍了 文本编译器,我们可以利用vim写代码,那么写代码的我们了解了,现在应该了解编译…

R语言统计分析——如何选择最佳回归模型

参考资料:R语言实战【第2版】 尝试获取一个回归方程时,实际上你就面对着从众多可能的模型中做选择的问题。是不是所有的变量都要包括?还是去掉那个对预测贡献不显著的变量?是否需要添加多项式项和/或交互项来提高拟合度&#xff1…

.NET WPF 抖动动画

.NET WPF 抖动动画 Demo Code <!-- 水平抖动 --> <Button Content"Hello World"><Button.RenderTransform><TranslateTransform x:Name"translateTransform" /></Button.RenderTransform><Button.Triggers><Even…

SP: eric

靶机搭建 靶机下载地址 在Virtualbox中打开下载好的靶机&#xff0c;网络配置修改为桥接模式&#xff0c;启动靶机即可。 信息收集 主机发现 nmap 192.168.31.0/24 -Pn -T4 靶机IP&#xff1a;192.168.31.244 端口扫描 nmap 192.168.31.244 -A -p- -T4 根据端口扫描结果…

Linux驱动学习之内核poll阻塞

在linux系统编程课程中学习过多路IO复用&#xff0c;简单来说就三个函数select&#xff0c;poll&#xff0c;epoll。 对于select 此函数是跨平台的&#xff0c;可以在windows&#xff0c;Linux中使用。 对于poll与epoll 只能在linux平台下使用&#xff0c; epoll底层实现是一个…

ArcGIS应用指南:近邻分析(点匹配到最近线段上)

近邻分析通常用于确定一个要素集中的要素与另一个要素集中最近要素的距离。当涉及到点匹配到最近的线时&#xff0c;这种分析可以用来确定每个点到最近线段的距离及位置&#xff0c;也就是我们常说的点匹配到最近线上&#xff0c;可以参考官方文档&#xff1a;近邻分析 (Covera…

EmguCV学习笔记 VB.Net 6.S 特别示例

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

深度学习基础(Datawhale X 李宏毅苹果书AI夏令营)

深度学习基础(Datawhale X 李宏毅苹果书AI夏令营) 3.1局部极小值和鞍点 3.1.1. 优化失败问题 在神经网络中&#xff0c;当优化到梯度为0的地方&#xff0c;梯度下降就无法继续更新参数了&#xff0c;训练也就停下来了&#xff0c;如图&#xff1a; 梯度为0的情况包含很多种情…

Anaconda3简介与安装步骤

目录 Anaconda3简介与功能 1.Anaconda3简介 2.主要功能和特点 3.使用场景 4.总结 Anaconda3安装 1.Anaconda3下载 1.1我的百度网盘 1.2官网下载 1.2.1访问官网 1.2.2输入邮箱 1.2.3登录你的邮箱下载&#xff08;你的噶&#xff09; 2.安装 2.1双击安装 2.2选择安…