当前位置: 首页 > article >正文

目标函数(含罚函数处理)

蜣螂优化(DBO)算法 工程实际求目标函数最小值图中所求例子为一个压力容器设计成本最小为4变量4个不等式约束。 采用罚函数将4约束问题转变为无约束问题。 代码注释完整非常容易带入自己想要求的问题。深夜撸代码发现蜣螂优化这玩意儿有点意思——这算法灵感居然来自屎壳郎推粪球的行为。刚好手头有个压力容器设计优化的需求四个设计参数要调四个不等式约束卡着正好拿DBO试试手。先看问题本质设计成本最小化。四个变量分别是圆柱体内径R、筒体长度L、半球形封头厚度Th、筒体厚度Ts。四个约束涉及压力容器重量、容积、厚度关系这些工程指标。传统做法搞约束优化太麻烦直接上罚函数把约束条件揉进目标函数里——违规就扣分简单粗暴。def objective_function(x): R, L, Th, Ts x # 原始成本计算 cost 0.6224*R*L*Ts 1.7781*R**2*Th 3.1661*L*Ts**2 19.84*R*Ts**2 # 约束条件们 g1 Th - 0.0193*R # 厚度下限约束 g2 Ts - 0.00954*R g3 np.pi*R**2*L (4/3)*np.pi*R**3 - 750*1728 # 容积约束 g4 0.0625 - Th # 厚度上限约束 # 罚函数放大招 penalty max(0, -g1)**2 max(0, -g2)**2 max(0, -g3)**2 max(0, -g4)**2 return cost 1e4 * penalty # 惩罚系数1万倍暴击这段代码的精髓在最后两行。约束被转换成违规量的平方和1e4的惩罚系数像把高压电枪——一旦设计参数不满足约束成本立马暴涨迫使算法寻找合规解。蜣螂优化(DBO)算法 工程实际求目标函数最小值图中所求例子为一个压力容器设计成本最小为4变量4个不等式约束。 采用罚函数将4约束问题转变为无约束问题。 代码注释完整非常容易带入自己想要求的问题。接下来是DBO核心操作。初始化种群时要注意参数范围比如R通常在10到200英寸之间# 算法参数设置 n_pop 50 # 屎壳郎军团规模 max_iter 500 # 最大推粪球次数 dim 4 # 变量维度 lb np.array([10, 10, 0.1, 0.1]) # 各参数下限 ub np.array([200, 200, 10, 10]) # 上限 # 初始化种群 pop np.random.uniform(lowlb, highub, size(n_pop, dim)) fitness np.array([objective_function(ind) for ind in pop])重点在位置更新策略。蜣螂行为分三种模式这里实现最关键的推球动作# 动态调整感知系数 def get_alpha(iter): return 1 - iter/max_iter # 线性递减 for iter in range(max_iter): alpha get_alpha(iter) for i in range(n_pop): # 随机扰动生成新解 if np.random.rand() 0.6: # 60%概率执行推球 delta alpha * (ub - lb) * np.random.normal(0, 0.1, dim) new_pos pop[i] delta else: # 40%概率随机探索 new_pos np.random.uniform(lb, ub) # 越界处理 new_pos np.clip(new_pos, lb, ub) # 更新最优 new_fit objective_function(new_pos) if new_fit fitness[i]: pop[i] new_pos fitness[i] new_fit这里有个调参小技巧alpha系数随着迭代次数递减早期允许大范围探索后期精细调整。np.clip函数确保参数不越界避免出现不合理的负厚度。跑完500代后输出结果best_idx np.argmin(fitness) print(f最优成本{fitness[best_idx]:.2f} 美元) print(f参数配置R{pop[best_idx][0]:.1f}, L{pop[best_idx][1]:.1f}, Th{pop[best_idx][2]:.2f}, Ts{pop[best_idx][3]:.2f})典型输出结果在6000美元左右和文献记录的传统方法结果相当。有意思的是算法有时会找到违反直觉的解——比如故意让某个厚度参数接近约束边界换取整体成本下降这种走钢丝的操作恰恰是优化算法的价值所在。代码最大的优势是易改装性。要解决自己的问题只需修改objective_function里的计算逻辑和约束条件调整参数上下界即可。比如把压力容器换成齿轮箱设计只需要重新定义成本计算方式和工程约束算法框架完全复用。

相关文章:

目标函数(含罚函数处理)

蜣螂优化(DBO)算法 工程实际,求目标函数最小值,图中所求例子为一个压力容器设计成本最小,为4变量,4个不等式约束。 采用罚函数将4约束问题转变为无约束问题。 代码注释完整,非常容易带入自己想要求的问题。深夜撸代码发…...

【OpenCV 图像变换实战:旋转、模板匹配与金字塔操作】

在计算机视觉领域,图像变换是最基础也最核心的操作之一。无论是简单的图像旋转、精准的模板匹配,还是用于图像分层处理的金字塔操作,都是实现图像增强、目标检测、图像重建的关键技术。本文将结合实战代码,系统讲解 OpenCV 中这三…...

C语言介绍:起源、特性、应用领域及如何为学其他语言打基础

C语言(C Language) 发音(Pronunciation):C yǔyn 大致意思(General Meaning):C语言是一种普遍使用的高级程序设计语言,在软件研发以及系统编程方面有着广泛运用。 详细阐…...

C语言:通用高级编程语言,现代编程语言母语及应用领域介绍

C语言,是一种被称作通用的、高级的编程语言,它是在1972年,由美国贝尔实验室的Dennis Ritchie进行开发的。C语言具备简洁、高效以及可移植的特性,在系统软件、嵌入式系统和应用程序开发当中被广泛应用。 现代编程语言的母语 有这样…...

cmu15445 25fall lec3个人笔记

lec3 database storage从应用层面转到构建层面query-planning->operator execution->access method->buffer pool manager->disk manageragendafile storage,page layout,tuple layout 行(row)为主存储顺序io(sequencial)耗时少于随机io(random access) 所以在DBMS…...

API 安全: 保护 AI 应用的交互接口

API 安全: 保护 AI 应用的交互接口你好,我是陈涉川,欢迎你来到我的专栏。在前面的章节中,我们刚刚结束了模型微调的炼狱,成功让大模型记住了企业的安全基线,并掌握了复杂的代理(Agent&#xff0…...

企业用智能体要投入多少成本?2026避坑指南与主流产品横评

2026年3月,AI Agent 正处于从“生成式问答”向“自主执行”跨越的爆发期。 企业在考虑企业用智能体要投入多少成本时,绝不能只看一张软件报价单。 真正的成本是由算力消耗、Token思维税、隐性维保、人力溢价构成的综合体系。 作为深耕自动化领域7年的评测…...

【AI智能体】——OpenClaw(龙虾)深度研究分享(五)clawhub: command not found 全网最稳解决方案

🦞 OpenClaw 终极排坑:clawhub: command not found 全网最稳解决方案 (Windows / Mac / Linux 全平台通用・保姆级)🔥 前言 最近 OpenClaw(小龙虾)真的火炸了! 但 80% 的人刚装上就卡…...

当LSTM遇上注意力:手把手教你玩转时序预测

Attention-LSTM时序预测,单输入单输出 基于注意力机制attention结合长短期记忆网络LSTM时间序列预测, 单输入单输出模型 MATLAB版本为2020b及其以上 中文注释清晰,非常适合科研小白 评价指标包括:R2、MAE、MSE、RMSE等时序预测总让人头疼&…...

拒绝加班!这套一键生成建筑模型的方法,让甲方当场傻眼

一、概述 在智慧城市建设、城市规划设计、游戏场景搭建以及数字孪生应用等领域,三维建筑模型的构建始终是基础且关键的一环。传统建模方式依赖人工描图、手动拉伸,不仅耗时耗力,而且难以保证数据的现势性与准确性。尤其是面对大范围城市级别…...

【实时Linux工业PLC解决方案系列】第三十六篇 - 实时Linux PLC定时器高精度控制

一、简介:为什么高精度定时器是工业PLC的"心脏"?在工业自动化领域,PLC(可编程逻辑控制器)的定时精度直接决定了控制系统的响应速度和稳定性。传统PLC依赖专用硬件实现毫秒级定时,而现代实时Linux…...

【嵌入式】RCC-复位与时钟控制模块及实例

基于 HAL 库工程,RCC 就是: Reset and Clock Control 中文一般叫: 复位与时钟控制模块 你可以先把它朴素理解成: RCC 是专门管“时钟”和“复位”的那个硬件模块。 一、它到底是干什么的 RCC 主要负责两大类事情&#xff1a…...

二维数组的应用:矩阵运算与图像处理

在编程世界里,二维数组是一种基础却又强大的数据结构,它就像是一张二维的网格,能精准存储和处理具有行列关系的数据。其中,矩阵运算与图像处理是它发挥价值的两大典型场景,今天我们就来深入拆解这两个应用方向。&#…...

OpenClaw 能不能赚钱?

最近一段时间,OpenClaw 在技术圈和副业圈同时火了。 有人说: 可以自动运营账号可以自动写文章可以自动接单可以当 AI 打工人 甚至已经出现: 帮人部署 OpenClaw 收费 我自己折腾了一周,做了一些简单测试,结论比想象中冷…...

GEO完整链路操作指引

一、先理解GEO的底层逻辑是什么相对浅层的认知里:让品牌出现在AI的回答中,让AI"看见"你、提到你、推荐你,这件事就做完了真正的决策过程,往往是从一个模糊问题开始,经过多轮追问、反复比较、风险确认、条件筛选&#xf…...

在线进行 Base64 文本编解码及图片转换 —— 开发调试实践指南

在日常开发中,Base64 编码是一种非常常见的数据处理方式。很多接口传输、图片嵌入、配置文件或日志数据中,都可能看到类似 SGVsbG8gd29ybGQ 这样的字符串,这其实就是 Base64 编码后的内容。 很多开发者在调试接口、处理图片数据或分析日志时…...

openclaw飞书机器人权限管理

为了确保 OpenClaw 既能顺畅运行,又不至于因权限过大导致安全隐患,建议在飞书开发者后台 - 权限管理中,按照以下清单进行勾选。 这份清单分为基础必备和进阶功能两部分: 基础必备权限(无论个人还是团队,必须…...

RTLAB实验图,半实物仿真平台,截图波形转示波器波形,仿真模型转实验图,电力电子实验波形

RTLAB实验图,半实物仿真平台,截图波形转示波器波形,仿真模型转实验图,电力电子实验波形 仿真波形转实验波形咱们今天聊聊电力电子实验中那个让人又爱又恨的环节——把仿真波形变成实验室示波器上的真实波形。搞过半实物仿真&#…...

单片机振荡周期,机器周期,指令周期

振荡周期:振荡器产生的时钟信号...

2026权威评测:毕业论文AIGC降重盘点,附免费试用

CSDN摘要: 2026年高校全面启用AIGC检测,传统同义词替换的降重方式已彻底失效!毕业论文“AIGC痕迹”究竟怎么破?本文基于真实学术场景,深度盘点5款主流AI学术工具,从原创性、降痕能力、服务保障等维度的实测…...

C++ 06:构造函数——对象初始化的核心指南

一、构造函数基础规则命名与返回值:函数名与类名完全一致,无返回值类型(不能写void)。自动调用:创建对象时系统自动触发,无需手动调用。默认构造:未显式定义时,编译器自动生成空默认…...

S4-Info-Yi系统的数学接口缺失、补全及在薛定谔猫佯谬中的应用

昨天希望将离子阱量子计算做一下,先前在海南曾把我的一段成果告诉华为,希望他们能与我合作,结果石沉大海。而我又有点儿不死心,在北京查了一下,发现费用高得吓人,要上千万,不仅如此,…...

计算机网络核心笔记

一、ISO 七层模型OSI(Open System Interconnection)是国际标准化组织提出的网络通信分层模型。层级名称作用示例7应用层为应用程序提供网络服务HTTP、FTP6表示层数据加密、压缩、格式转换SSL5会话层建立和管理会话RPC4传输层端到端通信TCP、UDP3网络层路…...

基于SpringBoot的同城上门喂遛宠物预约系统

Java基于SpringBoot的同城上门喂遛宠物预约系统是一个集高效性、便捷性与安全性于一体的宠物服务管理平台,其通过整合SpringBoot框架的快速开发能力与Java语言的稳定性,结合MySQL数据库的可靠存储,为宠物主人和服务提供者搭建了一个透明、可信…...

CUPT2024 15湿卷轴Comsol仿真(共两套)”

CUPT2024 15湿卷轴 comsol仿真 共两套 参数可以自行调整,需要与自己的实验结合 mph文件形式最近在折腾CUPT2024第15题"湿卷轴"的COMSOL仿真,发现这玩意儿比煮泡面有意思多了。先甩个建模思路:搞两套参数方案,一套给理论…...

三层架构+MVP 项目的标准化分层设计

三层架构MVP 项目的标准化分层设计(附可视化落地规范)结合 MVP 模式的三层架构,核心是**“整体三层架构不变,UI 层内部再按 MVP 拆分”,既保留三层架构的“业务-数据-界面”分离优势,又通过 MVP 解决 UI 层…...

解锁社区资源:如何发现和安装高质量的OpenClaw技能包

引言:站在巨人的肩膀上 OpenClaw的核心能力已经相当强大,但真正让它成为"超级工具"的是其技能包(Skills)生态系统。技能包就像是OpenClaw的"超能力扩展包",让AI能够胜任特定领域的工作。 想象一…...

Burpsuite | API 越权测试、快速收集目标网站的所有 API

工具介绍 ApiScanPlus为Burpsuite打造的路由抓取与渗透工具插件,借鉴结合了(JsRouteScanChkApiLinkfinder)等优秀项目,主要突出API抓的全、过滤更严谨方便、测试自由度更高等特点。感谢项目: JsRouteScan(https://github.com/F6JO/JsRouteSca…...

20260316-Windows 环境下安装 bibtex-tidy 到指定目录

Windows 环境下安装 bibtex-tidy 到指定目录。bibtex-tidy 是一个 Node.js 工具,需要通过 npm 安装。 有几种方法可以使用 bibtex-tidy: 在浏览器中 CLI 命令行界面作为预提交钩子Javascript/Typescript APIDocker 安装步骤 1. 确保已安装 Node.js …...

精准掌控!SOLIDWORKS Simulation助力密封圈挤压变形分析与密封力精确计算!

工程师们,还在为密封圈挤压变形的设计、仿真难题头疼吗?❌ 密封圈挤压变形量难以精确测量,密封性能评估全凭经验,达不到预期密封效果?❌ 摸不准密封力需求,压缩不足导致泄漏,压缩过度加速密封圈…...