25/4/6 算法笔记<仿真O2DES>基础知识学习
此文章就来整理一下我学习到的O2DES仿真框架的一些核心知识
核心概念:
模拟器(Simulator):模拟器是O2DES框架的核心组件,用来管理模拟时钟,事件调度和执行。可以通过Simulator类创建模拟环境,并在其中调度和执行事件。
事件(Event):和事件是模拟中发生的关键电子或变化。事件可以是任何需要在特定事件点执行的操作,可以通过继承Event类来创建自定义事件,并在事件中定义其执行逻辑。
资源(Resource):资源是模拟中有限的实体,例如机器,服务器等,资源可以被多个事件共享和竞争,O2DES提供了Resource类,用于管理资源的可用性和分配
随机数生成器(Random Number Generator):随机数生成器用于生成模拟器中所需的随机数,例如事件到达事件,服务事件,可以通过RandomSource类,生成随机数。
概率分布(Probability Distributions):概率分布用于描述事件发生的随机性,例如指数分布,泊松分布等,O2DES提供了多种概率分布类,如Exponential,Poisson等。
常用方法:
创建模拟器:
使用Simulator类创建模拟器实例。
示例:
Simulator simulator = new Simulator();
调度事件:
使用 Schedule
方法在模拟器中调度事件。
示例:
simulator.Schedule(new MyEvent(simulator, 10.0));
运行模拟:
使用 Run
方法启动模拟器,执行所有已调度的事件。
示例:
simulator.Run();
获取当前模拟时间:
使用 Clock
属性获取当前模拟时间
示例:
Console.WriteLine($"Current simulation time: {simulator.Clock}");
创建自定义事件:
通过继承 Event
类创建自定义事件,并重写 Invoke
方法定义事件行为。
public class MyEvent : Event
{public MyEvent(Simulator simulator, double time) : base(simulator, time){}public override void Invoke(){Console.WriteLine($"Event triggered at time {Simulator.Clock}");}
}
使用随机数生成器:
使用 RandomSource
类生成随机数。
示例:
double randomValue = simulator.RandomSource.NextDouble();
使用概率分布:
使用概率分布类生成随机时间间隔。
示例:
double arrivalTime = Exponential.Sample(simulator.RandomSource,
TimeSpan.FromMinutes(10));
示例代码
以下是一个简单的生产系统模拟示例,展示如何使用 O2DES 框架的核心概念和方法:
using System;
using O2DESNet;namespace ProductionSystemSimulation
{class Program{static void Main(string[] args){// 创建模拟器Simulator simulator = new Simulator();// 创建生产系统ProductionSystem productionSystem = new ProductionSystem(simulator);// 安排第一个生产事件simulator.Schedule(new ProductionSystem.StartProductionEvent(simulator, 0.0, productionSystem));// 运行模拟simulator.Run();// 输出结果Console.WriteLine($"\n模拟结束,总产品数: {productionSystem.NumberOfProducts}");}}public class ProductionSystem{public Simulator Simulator { get; set; }public int NumberOfProducts { get; set; } = 0;public double ProductionRate { get; set; } = 10.0; // 每小时生产 10 个产品public double FailureProbability { get; set; } = 0.1; // 10% 的概率发生故障public double RepairTime { get; set; } = 2.0; // 修复时间 2 小时public ProductionSystem(Simulator simulator){Simulator = simulator;}// 开始生产事件public class StartProductionEvent : Event{public ProductionSystem System { get; set; }public StartProductionEvent(Simulator simulator, double time, ProductionSystem system) : base(simulator, time){System = system;}public override void Invoke(){Console.WriteLine($"[{Simulator.Clock}] 开始生产");// 安排生产完成事件double productionTime = 60.0 / System.ProductionRate; // 生产一个产品所需的时间(分钟)Simulator.Schedule(new ProductionCompleteEvent(Simulator, Simulator.Clock + productionTime, System));}}// 生产完成事件public class ProductionCompleteEvent : Event{public ProductionSystem System { get; set; }public ProductionCompleteEvent(Simulator simulator, double time, ProductionSystem system): base(simulator, time){System = system;}public override void Invoke(){System.NumberOfProducts++;Console.WriteLine($"[{Simulator.Clock}] 生产完成,总产品数: {System.NumberOfProducts}");// 检查是否发生故障if (Simulator.RandomSource.NextDouble() < System.FailureProbability){Console.WriteLine($"[{Simulator.Clock}] 发生故障");Simulator.Schedule(new RepairCompleteEvent(Simulator, Simulator.Clock + System.RepairTime, System));}else{// 继续生产double productionTime = 60.0 / System.ProductionRate; // 生产一个产品所需的时间(分钟)Simulator.Schedule(new ProductionCompleteEvent(Simulator, Simulator.Clock + productionTime, System));}}}// 修复完成事件public class RepairCompleteEvent : Event{public ProductionSystem System { get; set; }public RepairCompleteEvent(Simulator simulator, double time, ProductionSystem system): base(simulator, time){System = system;}public override void Invoke(){Console.WriteLine($"[{Simulator.Clock}] 修复完成,恢复生产");// 安排新的生产事件Simulator.Schedule(new StartProductionEvent(Simulator, Simulator.Clock, System));}}}
}
网约车调度系统仿真示例代码
using System;
using O2DESNet;namespace RideHailingSimulation
{class Program{static void Main(){var sim = new Simulator();var system = new RideHailingSystem(sim, 100); // 100辆网约车sim.Schedule(new OrderArrivalEvent(sim, 0));sim.Run();Console.WriteLine($"完成订单数:{system.CompletedOrders}\n平均等待时间:{system.AvgWaitTime:F1}分钟");}}public class RideHailingSystem{public Simulator Sim { get; }public int AvailableDrivers { get; set; }public int CompletedOrders { get; set; }public double TotalWaitTime { get; set; }public double AvgWaitTime => CompletedOrders > 0 ? TotalWaitTime / CompletedOrders : 0;public RideHailingSystem(Simulator sim, int totalDrivers){Sim = sim;AvailableDrivers = totalDrivers;}// 订单到达事件(时间驱动)public class OrderArrivalEvent : Event{RideHailingSystem System;public OrderArrivalEvent(Simulator sim, double time) : base(sim, time) {System = (RideHailingSystem)sim.Context;}public override void Invoke(){// 订单到达(每2-5分钟随机到达)double orderTime = Sim.Clock;if(System.AvailableDrivers > 0){System.AvailableDrivers--;double serviceTime = 10 + Sim.RandomSource.Next(20); // 服务时间10-30分钟Sim.Schedule(new OrderCompleteEvent(Sim, Sim.Clock + serviceTime, System, orderTime));}else{// 进入排队等待(事件驱动)Sim.Schedule(new DriverDispatchEvent(Sim, Sim.Clock + 5, System, orderTime));}// 安排下一个订单到达(混合驱动机制)double nextArrival = 2 + 3 * Sim.RandomSource.NextDouble();Sim.Schedule(new OrderArrivalEvent(Sim, Sim.Clock + nextArrival));}}// 订单完成事件public class OrderCompleteEvent : Event{RideHailingSystem System;double _orderTime;public OrderCompleteEvent(Simulator sim, double time, RideHailingSystem system, double orderTime) : base(sim, time) {System = system;_orderTime = orderTime;}public override void Invoke(){System.AvailableDrivers++;System.CompletedOrders++;System.TotalWaitTime += (Sim.Clock - _orderTime);// 阈值触发调度(文献[13]的阈值机制)if(System.AvailableDrivers > System.TotalDrivers * 0.2) {Sim.Schedule(new RelocationEvent(Sim, Sim.Clock + 2, System));}}}// 车辆调度事件(文献[12]的调度逻辑)public class RelocationEvent : Event{RideHailingSystem System;public RelocationEvent(Simulator sim, double time, RideHailingSystem system) : base(sim, time) => System = system;public override void Invoke(){// 执行文献[13]的联合调度策略int relocateCount = (int)(System.AvailableDrivers * 0.3);System.AvailableDrivers -= relocateCount;// 模拟调度耗时(5-15分钟)double relocateTime = 5 + 10 * Sim.RandomSource.NextDouble();Sim.Schedule(new RelocationCompleteEvent(Sim, Sim.Clock + relocateTime, System, relocateCount));}}// 调度完成事件public class RelocationCompleteEvent : Event{RideHailingSystem System;int _relocatedCount;public RelocationCompleteEvent(Simulator sim, double time, RideHailingSystem system, int count) : base(sim, time){System = system;_relocatedCount = count;}public override void Invoke(){System.AvailableDrivers += _relocatedCount;Console.WriteLine($"[{Sim.Clock}] 已完成{_relocatedCount}辆车的区域调度");}}// 司机调度事件(文献[12]的等待处理机制)public class DriverDispatchEvent : Event{RideHailingSystem System;double _orderTime;public DriverDispatchEvent(Simulator sim, double time, RideHailingSystem system, double orderTime) : base(sim, time){System = system;_orderTime = orderTime;}public override void Invoke(){if(System.AvailableDrivers > 0){System.AvailableDrivers--;double serviceTime = 10 + Sim.RandomSource.Next(20);Sim.Schedule(new OrderCompleteEvent(Sim, Sim.Clock + serviceTime, System, _orderTime));}else{// 继续等待Sim.Schedule(new DriverDispatchEvent(Sim, Sim.Clock + 5, System, _orderTime));}}}}
}
以下是逐段解析
程序入口(Main方法)
static void Main()
{var sim = new Simulator();var system = new RideHailingSystem(sim, 100); // 100辆网约车sim.Schedule(new OrderArrivalEvent(sim, 0));sim.Run();Console.WriteLine($"完成订单数:{system.CompletedOrders}\n平均等待时间:{system.AvgWaitTime:F1}分钟");
}
- 创建仿真器实例和网约车系统(含100辆初始车辆)
- 安排首个订单到达事件(时间驱动起点)
- 启动仿真引擎并输出运营指标
- 实现文献[2]中提到的空车调度系统初始化流程
网约车系统类(RideHailingSystem)
public class RideHailingSystem
{// 系统状态属性public int AvailableDrivers { get; set; }public int CompletedOrders { get; set; }public double TotalWaitTime { get; set; }// 阈值触发机制(文献[13])public int TotalDrivers => 100;
}
- 实时跟踪可用司机数量和服务完成量
- 计算平均等待时间等KPI指标
- 内置阈值判断逻辑(空闲车辆>20%触发调度)
订单到达事件(OrderArrivalEvent)
public override void Invoke()
{// 混合驱动机制(文献[1][4])if(System.AvailableDrivers > 0){// 即时服务(事件驱动)double serviceTime = 10 + Sim.RandomSource.Next(20);Sim.Schedule(new OrderCompleteEvent(...));}else{// 延迟调度(时间驱动)Sim.Schedule(new DriverDispatchEvent(...)); }// 泊松过程生成订单(文献[8])double nextArrival = 2 + 3 * Sim.RandomSource.NextDouble();Sim.Schedule(new OrderArrivalEvent(...));
}
- 采用泊松过程模拟随机订单到达(平均间隔2-5分钟)
- 集成即时响应与延迟调度双模式
订单完成事件(OrderCompleteEvent)
public override void Invoke()
{// 资源释放与统计更新System.AvailableDrivers++;System.CompletedOrders++;System.TotalWaitTime += (Sim.Clock - _orderTime);// 联合调度策略if(System.AvailableDrivers > System.TotalDrivers * 0.2) {Sim.Schedule(new RelocationEvent(...));}
}
- 基于阈值触发的车辆重定位机制
车辆调度事件(RelocationEvent)
public override void Invoke()
{// 动态调度算法int relocateCount = (int)(System.AvailableDrivers * 0.3);System.AvailableDrivers -= relocateCount;// 时空成本建模double relocateTime = 5 + 10 * Sim.RandomSource.NextDouble();Sim.Schedule(new RelocationCompleteEvent(...));
}
- 按比例调度空闲车辆(30%阈值)
- 引入随机扰动模拟实际路况
调度完成事件(RelocationCompleteEvent)
public override void Invoke()
{System.AvailableDrivers += _relocatedCount;Console.WriteLine($"[{Sim.Clock}] 已完成{_relocatedCount}辆车的区域调度");
}
- 记录区域调度完成情况
- 实时更新车辆分布状态
- 支持OD分析
司机调度事件(DriverDispatchEvent)
public override void Invoke()
{// 递进式重试机制if(System.AvailableDrivers > 0){// 分配可用车辆}else{// 等待重试(时间驱动)Sim.Schedule(new DriverDispatchEvent(...));}
}
相关文章:
25/4/6 算法笔记<仿真O2DES>基础知识学习
此文章就来整理一下我学习到的O2DES仿真框架的一些核心知识 核心概念: 模拟器(Simulator):模拟器是O2DES框架的核心组件,用来管理模拟时钟,事件调度和执行。可以通过Simulator类创建模拟环境&#…...
Three.js 系列专题 3:光照与阴影
内容概述 光照是 3D 场景真实感的关键。Three.js 提供了多种光源类型,每种光源有不同的效果和用途。本专题还将介绍如何启用和优化阴影效果,提升场景的深度感。 学习目标 理解不同光源类型及其应用场景。掌握在 Three.js 中添加光源并启用阴影。学会调整阴影效果以平衡真实…...
接口自动化学习五:mock工具使用
Moco简介: Mock是一个简单搭建模拟服务器的框架,可以用来模拟http、https、socket等协议。 原理: Mock会根据一些配置,启动一个真正的HTTP服务(会监听本地的某个端口),当发起的请求满足某个条件时…...
Java学习——day22(Java反射基础入门)
文章目录 1.反射的定义2. 认识反射的关键API2.1 Class2.2 Field2.3 Method2.4 Constructor 3. 示例代码讲解与分析4. 编写反射示例代码的步骤4.1 定义测试类4.2 编写主程序,使用反射获取信息4.3 通过反射创建对象并调用方法 5. 总结6.今日生词 Java反射笔记 1.反射的…...
字符串、列表、元组、字典
字符串 双引号或者单引号中的数据,就是字符串 字符串输入 之前在学习input的时候,通过它能够完成从键盘获取数据,然后保存到指定的变量中; 注意:input获取的数据,都以字符串的方式进行保存,即…...
数据分析-Excel-学习笔记
Day1 复现报表聚合函数:日期联动快速定位区域SUMIF函数SUMIFS函数环比、同比计算IFERROR函数混合引用单元格格式总结汇报 拿到一个Excel表格,首先要看这个表格个构成(包含了哪些数据),几行几列,每一列的名称…...
Nginx 常见面试题
一、nginx常见错误及处理方法 1.1 404 bad request 一般原因:请求的Header过大 解决办法: 配置nginx.conf 相关设置1. client_header_buffer_size 16k; 2. large_client_header_buffers 4 64k;1.2 413 Request Entity Too Large 一般原因࿱…...
Spring 中的 @Autowired 和 @Resource
🧩 一、Autowired 和 Resource 的基本作用 注解来源作用AutowiredSpring 提供(org.springframework.beans.factory.annotation.Autowired)按类型 自动注入ResourceJDK 提供(javax.annotation.Resource)默认按名称 注入…...
IAGCN:登上《Nature》的深度学习可解释性情感分析模型突破
IAGCN:登上《Nature》的深度学习可解释性情感分析模型突破 一、技术突破背景 社交媒体时代,用户生成内容的情感分析需求激增。传统方面级情感分析模型在复杂语境下存在特征交互捕捉不足、情感极性判定偏差等问题。微软亚洲研究院联合清华大学提出的交互…...
Go 学习笔记 · 进阶篇 · 第一天:接口与多态
🐶Go接口与多态:继承没了,但自由炸裂! 最近翻 Go 的代码,突然看到这么一段: type Animal interface {Speak() string }我一愣,咦?这不就是 Java 里常见的“接口”吗? …...
模运算:数字世界中的时空扭曲法则——从密码学到量子计算的跨维演绎
一、模宇宙基本定理:重构数字时空的底层逻辑 1.1 同余关系的时空折叠效应 在模运算创造的离散时空中,数字呈现出环状拓扑结构。当我们在模7空间观察时,12与5通过时空折叠达成量子纠缠:12 ≡ 5 (mod 7)。这种性质使得RSA加密算法…...
0303hooks-react-仿低代码平台项目
文章目录 1. 副作用2.其他内置hooks2.1 useEffect2.2 useRef2.3useMemo2.4 useCallback 3.自定义hooks4. 第三方hooks5. hooks使用原则6. hooks闭包陷阱7. 总结结语 1. 副作用 当组件渲染完成时,加载一个Ajax网络请求当某个state更新时,加载一个Ajax网络…...
Batch Normalization:深度学习训练的加速引擎
引言 在深度学习的发展历程中,训练深度神经网络一直是一项极具挑战性的任务。随着网络层数的增加,梯度消失、梯度爆炸以及训练过程中的内部协变量偏移(Internal Covariate Shift)问题愈发严重,极大地影响了模型的收敛…...
nacos的地址应该配置在项目的哪个文件中
在 Spring Boot 和 Spring Cloud 的上下文中,Nacos 的地址既可以配置在 bootstrap.yml 中,也可以配置在 application.yml 中,但具体取决于使用场景和需求。以下是两者的区别和最佳实践: 1. bootstrap.yml vs application.yml …...
【数据集】 PBMC(Peripheral Blood Mononuclear Cells)数据集
🧬 一、PBMC 数据集简介 内容描述名称Peripheral Blood Mononuclear Cells(外周血单个核细胞)细胞类型包括 B 细胞、T 细胞、NK 细胞、单核细胞等技术平台通常由 10x Genomics 提供(例如 3k、4k、6k、10k 版本)数据类…...
3. go-zero中如何使用redis
问题 go-zero项目相关文档中redis是这样配置的: Name: account.rpc ListenOn: 0.0.0.0:8080 Etcd:Hosts:- 127.0.0.1:2379Key: account.rpcMysql:Host: xxxx:3306User: rootPass: xxxData: mall-userCharset: utf8mb4Cache: - Host: 192.168.145.10:6379Type: nod…...
Redis基础知识
Redis基础知识 一、Redis简介 1.1 什么是Redis? Redis是一个开源的、基于内存的数据结构存储系统,可以用作: 数据库缓存消息中间件分布式锁 1.2 Redis特点 高性能:基于内存操作支持多种数据结构支持数据持久化支持主从复制支…...
每日c/c++题 备战蓝桥杯(求解三个数的最大公约数与最小公倍数)
求解三个数的最大公约数与最小公倍数(C/C实现) 引言 在数学计算和编程问题中,求多个数的**最大公约数(GCD)和最小公倍数(LCM)**是常见需求。本文将探讨如何高效求解三个数的GCD和LCMÿ…...
解决Win11耳机没有声音的问题
方法一:更新驱动程序(有效) 进入 “设置”(快捷键:WinX),点击 “Windows 更新” → “高级选项” 点击 “可选更新” ,然后点击 “驱动程序更新” 【注】:更新后可能会出…...
滤波电容的正负极线宽需要一致吗?
今天看到一个项目的滤波电容的正端采用铺铜处理增大过流能力,但是负极却仅仅打了两个地过孔,不仅产生疑问,这样做是否合理,滤波电容的正负极线宽需要一致吗? 搜寻资料的时候看到这样一个类似的问题: 这些人…...
使用 `pandas` 库来读取 Excel 文件,并实现六种算法的遍历计算
以下是一个满足你需求的 Python 程序示例。在这个示例中,我们假设已经有了处理数据的函数,并且生成的 Excel 文件中包含了观测数据和推算数据。我们将使用 pandas 库来读取 Excel 文件,并实现六种算法的遍历计算。 import pandas as pd# 模拟…...
【Linux】文件描述符访问Open、Read、Write
每个运行的程序被称为进程(process),它有一些与之关联的文件描述符。我们可以通过这些文件描述符来访问打开的文件或者设备。 一、文件描述符 什么是文件描述符? 概念:文件描述符(File Descriptor&#x…...
在 VS2022 中修复 Linux CMake 项目构建失败:从 Ninja 迁移到 Makefile
问题背景 在使用 Visual Studio 2022 开发跨平台 C 项目时,许多开发者会选择通过 WSL (Windows Subsystem for Linux) 直接在本地调试 Linux 环境下的程序。然而,近期在配置一个 CMake 项目时,遇到了以下报错࿱…...
ctf-show-mics2
下载文件用zip解压,将文件修改为flp文件 新建虚拟机,把文件添加到软盘 再次打开虚拟机会显示flag flag:flag{ctfshow}...
STM32_USB
概述 本文是使用HAL库的USB驱动 因为官方cubeMX生成的hal库做组合设备时过于繁琐 所以这里使用某大神的插件,可以集成在cubeMX里自动生成组合设备 有小bug会覆盖生成文件里自己写的内容,所以生成一次后注意保存 插件安装 下载地址 https://github.com/alambe94/I-CUBE-USBD-Com…...
Java 基础-32-枚举-枚举的应用场景
在Java编程中,枚举(Enum)提供了一种强大的方式来定义一组固定的常量。它们不仅限于简单的用途,还可以包含构造函数、方法和字段等高级功能,使其适用于多种不同的应用场景。本文将探讨几种常见的使用枚举的场景…...
新潮透明液体水珠水滴失真故障扭曲折射特效海报字体标题设计ps样机动作素材 Bubble Photoshop Templates
只需单击几下即可创建引人注目的视觉效果!您需要做的就是将您的文本或图像放入智能对象中并应用作。 包中包含: 15 个静态 Photoshop 模板(PS 2019 及更高版本) 01-05 垂直布局 (22504000)06-10 水平布局…...
学透Spring Boot — 017. 魔术师—Http消息转换器
本文是我的专栏《学透Spring Boot》的第17篇文章,了解更多请移步我的专栏: 学透 Spring Boot_postnull咖啡的博客-CSDN博客 目录 HTTP请求和响应 需求—新的Media Type 实现—新的Media Type 定义转换器 注册转换器 编写Controller 测试新的medi…...
stable diffusion 量化加速点
文章目录 一、导出为dynamic shape1)函数讲解(函数导出、输出检查)2)代码展示二、导出为static shape1)函数讲解(略)2)代码展示三、序列化为FP32测速1)测速2)代码四、序列化为FP16测速1)测速2)代码同上五、发现并解决解决CLIP FP16溢出,并测速1)如何找到溢出的算子…...
Xorg内存管理机制深度解析
Xorg内存管理机制深度解析 一、客户端资源生命周期管理 Xorg 采用 客户端绑定型资源管理 机制,所有资源(窗口、像素图、字体等)的生命周期与客户端连接状态强关联。 资源 ID 分配机制: • 每个资源由 32位标识符 表示,格式:0xBBCCDDEE ◦ BB:客户端 ID(ClientIndex)…...
第五期:深入理解 Spring Web MVC [特殊字符]( 前后端交互的综合性练习)
✨ 前言:从理解到实战,彻底掌握 Spring MVC 前后端交互 当我们学习了 Spring MVC 中的各种注解、参数绑定、请求方式、编码处理以及 Cookie/Session 操作之后,下一步就是 —— 动手实践! 理论再多,不如亲自敲一次代码…...
ansible可视化自动化平台-semaphore
1、简介 Semaphore UI 是一个开源的CI/CD工具,专注于简化和自动化软件交付流程,可轻松管理和运行 Ansible playbook,提供了一个直观的 Web 用户界面(UI),帮助DevOps团队轻松管理任务、部署和流水线。 官网…...
手撕LLM(二):从源码出发,探索LoRA加载、推理全流程
接上回接着说,前面我们通过分析源码,了解了大模型推理的详细流程,包括提示词从输入,到对话模版包装,到tokenID转换,到Embedding词向量转换;通过大模型推理,再将大模型输出进行最后一…...
数据库连接JDBC
概述 ✅概念 JDBC(JavaDataBaseConnectivityjava数据库连接)是⼀种⽤于执⾏SQL语句的JavaAPI,可以为多种关系型数据库提供 统⼀访问,它是由⼀组⽤Java语⾔编写的类和接⼝组成的。 本质 其实就是java官⽅提供的⼀套规范(接⼝)。⽤于帮助开发⼈员快速实现…...
VectorBT:使用PyTorch+Transformer训练和回测股票模型 进阶五
VectorBT:使用PyTorchTransformer训练和回测股票模型 进阶五 本方案基于PyTorch框架与Transformer模型,结合VectorBT回测引擎构建多股票量化交易系统,采用滑动窗口技术构建时序特征,通过自注意力机制捕捉市场规律预测收益率&#…...
DP Alt Mode 与 USB 的关系
DP Alt Mode 与 USB 的关系 1. 物理接口的统一:USB-C 是“万能插座” [USB-C接口物理结构] |-----------------------------------------------| | USB 3.0数据引脚 | DP Alt Mode视频引脚 | 电源引脚 | |-------------------------------------…...
C#“与AI的奇妙结合”
原文:C# 使用通义灵码 - AI 助力 Visual Studio 开发_w3cschool (注意:本文章中并不存在任何广告,也不存在任何盈利内容) C# 使用通义灵码 C# 作为一种功能强大且灵活多变的编程语言,被广泛应用于各个领…...
企业ITR流程设计与执行详细介绍【附全文阅读】
该方案聚焦企业 ITR 流程,适用于企业的服务管理人员、流程优化负责人、技术支持团队以及中高层管理者等。 ITR 流程的重要性:企业服务面临客户不满、管理者焦虑、服务人员无奈等挑战,缺乏完善的 ITR 流程会影响品牌形象、客户满意度和产品竞争力。ITR 流程能够保障客户满意,…...
Ubuntu 无密码热点(Soft AP)完整配置方案
适用于 Jetson、嵌入式 Linux、RDK 平台。目标:配置一个无密码热点(Soft AP),供手机等设备直接连接。实现开机自动启动热点,也支持后续一键切换回 WiFi 客户端模式。 平台:Yahboom RDK X3(Jetso…...
【力扣hot100题】(063)搜索二维矩阵
看到这题我就想到之前被我当作这题做的【力扣hot100题】(020)搜索二维矩阵Ⅱ 其实是完全不一样的两题,个人觉得这道题更简单也更考验基础,那道题思路更难想到但代码更好写。 两个二分查找结束,要注意的是第一个二分查…...
瑞萨RA4M2使用心得-KEIL5的第一次编译
目录 前言 环境: 开发板:RA-Eco-RA4M2-100PIN-V1.0 IDE:keil5.35 一、软件的下载 编辑瑞萨的芯片,除了keil5 外还需要一个软件:RASC 路径:Releases renesas/fsp (github.com) 向下找到: …...
玄机-apache日志分析
靶场任务 1、提交当天访问次数最多的IP,即黑客IP: 查看apache日志 apache访问日志的位置是:/var/log/apache2/access.log.1 匹配正则算法 首先先cat看看 发现地址都在第一行,直接匹配计算输出 cat access.log.1 |grep -Eo &…...
[C++]洛谷B2119 删除单词后缀
题目与解析 题干题目描述输入格式输出格式样例样例输入样例输出 答案解析食用提示AC代码AC代码详细解析头文件部分主程序8~12行代码 12行以后的代码 题干 题目描述 给定一个单词,如果该单词以 er、ly 或者 ing 后缀结尾,则删除该后缀(题目保…...
Ubuntu远程连接Mysql数据库(图文详解)
Ubuntu远程连接Mysql数据库 1、版本2、检查有没有Mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.3 查看Mysql运行状态 3、卸载Mysql4、安装4.1 更新4.2 开始安装4.3 安装完后查看状态 5、登录5.1、使用5.2、查看数据库权限5.3 更新权限5.4 再次查看数据库权限5.5 添加新用…...
回归预测 | Matlab实现NRBO-Transformer-GRU多变量回归预测
回归预测 | Matlab实现NRBO-Transformer-GRU多变量回归预测 目录 回归预测 | Matlab实现NRBO-Transformer-GRU多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.【JCR一区级】Matlab实现NRBO-Transformer-GRU多变量回归预测,牛顿-拉夫逊算法优…...
leetcode122-买卖股票的最佳时机II
leetcode 122 思路 方法一的核心思想是简单的贪心策略。我们每天都看当前价格和下一个价格的差值。如果下一个价格高于当前价格(即diff > 0),那么就认为当天可以买入并在第二天卖出,赚取利润。因此,方法一把所有…...
from PIL import Image 安装失败
正确安装 Pillow (PIL) # 通过 Conda 安装 conda install pillow -c conda-forge# 或通过 Pip 安装 pip install pillow验证安装 在 Python 中测试是否成功: from PIL import Image print(Image.__version__) # 应输出类似 "9.5.0" 的版本号常见问题说…...
DPFunc蛋白质功能预测模型复现报告
模型简介 模型的具体介绍见蛋白质功能预测论文阅读记录2025(DPFunc、ProtCLIP)_protein functions-CSDN博客 复现流程 仓库:CSUBioGroup/DPFunc 时间:2025.4.5 环境配置 python 3.9.21 & CUDA 11.6 Pytorch: 1.12.0 DG…...
在 Ubuntu24.04 LTS 上 Docker Compose 部署基于 Dify 重构二开的开源项目 Dify-Plus
一、安装环境信息说明 硬件资源(GB 和 GiB 的主要区别在于它们的换算基数不同,GB 使用十进制,GiB 使用二进制,导致相同数值下 GiB 表示的容量略大于 GB;换算关系:1 GiB ≈ 1.07374 GB ;1 GB ≈ …...
双系统ubuntu20.04不能外接显示器的解决办法
一,更换驱动 首先确定是不是英伟达显卡驱动,如果不是的话,设置里找到附加驱动,更改为NVIdia类型的驱动,更改完成之后重启 这里大部分电脑都可以了,如果不行 二、更改启动方式 重启之后进入BIOS设置&…...