- 博客(33)
- 收藏
- 关注
原创 线性规划中的几种逻辑表达式
线性规划中的几种逻辑表达式注意: 摘录字刘博士的《数学建模与数学规划》, 以便用时可查。实际上Gurobi API 中自身放啊变的逻辑表达式函数,下面列出自定义的实现方式。
2024-12-18 14:51:14
347
原创 python 源码编译为pyd文件和反汇编
pyd文件是 Python 动态链接库文件,通常用于在 Windows 操作系统上。它们是用 C 或 C++ 编写的扩展模块,编译后可以被 Python 解释器直接加载和使用。.pyd文件的功能类似于 Linux 上的.so文件。这些文件通常用于提高性能或访问 Python 本身无法直接访问的系统级功能。要在 Python 中使用.pyd文件,只需像导入普通 Python 模块一样导入它们。
2024-08-27 13:18:04
923
原创 使用 python asyncio的一个例子,以及在jupyter lab中使用时的一个常识
asyncio适合在高io的情况下提高程序的并发性, 并给出了一个例子, 接着比较了ide和jupyter lab 使用 asyncio 编程的一个差异。
2024-06-25 15:51:55
850
原创 nuitka 打包 pyqt 应用为exe-实操
在另一个日记中尝试了 pyinstaller, cxfreeze , 以及这次的nuitka, 就我自己的感受而言, 针对我自己的这个例子,cxfreeze 是最简单的, 其次是 pyinstaller 再次是 nuitka, 不过当使用过一次后, 再次使用时间成本都差不多执行效率上, 奈何我的例子不适合做对比, 我感觉都差不多, 但是理论上 nuitka , 将代码编译为c, 速度快, 这个具体情况具体分析吧。
2024-06-18 16:42:06
1400
原创 pyqt5 信号和槽函数以及Qthread 多线程的简单的例子
首先创建了一个Worker类,它是QThread的子类。这个类有一个信号progressChanged,用于在任务进度改变时发出。run方法中的循环模拟了一个耗时任务,每次迭代都会暂停0.1秒,然后发出progressChanged信号。写了一个简单的例子: 包含一个主窗口和一个按钮。点击按钮时,我们将启动一个耗时的任务(在这里我们使用time.sleep来模拟)。为了不阻塞主线程,我们将在一个单独的线程中运行这个任务。同时,我们将显示一个进度条来展示任务的进度。
2024-06-18 10:28:37
504
原创 pyinstaller, cx_Freeze打包 pyqt 桌面应用-实操
pyinstaller, cx_freeze 打包为 exe,具体实践
2024-06-18 10:04:47
648
原创 cProfile 在剖析python 代码性能方面的应用
以前在写代码的时候看看每段代码的代码的耗时经常会用到 time module, 在代码开始前记录一下当前时间, 等要测试的代码执行完了再打印一下当前时间, 二者做差, 既可以打印出代码的执行时间.timeit 中有个 timeit方法, 可以专门测试一段代码, 并制定执行n次, 然后取n次执行后的平均时间, 例如这个例子.:这是从程序开始运行到结束的实际经过的时间,也就是我们通常所说的“墙钟时间”或“挂钟时间”。这个时间包括了其他程序和系统的运行时间,因此它可能会受到系统负载等因素的影响。user。
2024-05-29 14:21:27
826
原创 github copilot 解释python 代码 也会出错
看到这个我就不理解了, 答案中 第2调和第3条是有矛盾点的, 第2条中说是把图像缩小成84*110, 然后呢第3条中又说截取行18到102(不包括102)。还是那句话, 大模型是辅助工具, 提高生产力, 最好还得人来做决策。
2024-05-17 10:52:19
296
原创 numpy中stack和max函数的理解
numpy 中的stack可以将一组 array 沿着某一个axis 合成一个新的array, 这个函数接受两个输入参数, 一个是一组array,这一组中的所有array需要具有相同的shape, 另个参数就是 axis, 稍后解释个人理解的axis的意义。stack的输出是一个新的array, 这个新的array 会比原来的那组array 增加新的一维。stack是根据前面的输入参数axis 来决定沿着哪一个axis 来合成新的array。看几个具体的例子帮助理解。
2024-05-16 16:12:04
502
1
原创 gurobi 目标设置经验分享
Gurobi 求解混合整数规划的过程中, 内部使用的算法包含了分支定界方法,是一种迭代的方法, 一般终止迭代的方式主要有两种, 一个是设置运算时间(TimeLimit),一个是MIPGap。本文浅显的记录实际中遇到的关于目标函数的设计(涉及到MIPGap)的一点想法。
2024-01-24 17:57:48
901
1
原创 利用gurobi分析不可行(infeasible)模型
在构建线性规划(LP)或者混合整数规划(MIP)的过程中,经常会遇到求解器报infeasible 错误。这里记录下如何用gurobi快速分析问题, 找到存在矛盾的约束条件。
2023-12-28 14:30:25
3840
3
原创 MIP Model 中的参数
MIPFocus: 高层级的解策略, 默认为0, 在寻找最优解和证明当前解的最优性直接取平衡。(备注: 要搞清楚gurobi 是如何实现的证明最优性和提高边界的)如果尝试了上面的方法,对于root 松弛的求解还是比较困难, 可以尝试NoRelHeurTime 和NoRelHeurWork来增加启发式方法的尝试, 尽管不会证明获得的可行解的最优性。如果根松弛占用大量的时间, 可以尝试调整一下Method参数,对根松弛选择另一个连续性的方法。这两个参数表示求解器运行到指定的点后, 专注于寻找好的可行解。
2023-12-11 14:17:11
1294
1
原创 解决 git shell comments 字符乱码问题
在 Git Bash 的窗口中,右键标题栏,选择“Options”(选项),然后在“Text”(文本)选项卡中设置“Locale”(区域设置)为“zh_CN”(中国大陆),并将“Character set”(字符集)设置为“UTF-8”。这些命令将 Git 的字符编码设置为 UTF-8,这样中文就不会出现乱码了。点击“Apply”(应用)按钮保存设置,然后重启 Git Bash。
2023-10-27 10:37:20
190
1
原创 创建 Eclipse RCP 例子
1 创建 plug-in 工程如下图, 创建一个空的工程, 仅填入工程名 “com.vogella.tasks.ui”点击 Next , 查看一下, 什么都不要选择。2 创建 feature 工程选择 feature project, 并创建工程, 如下图工程创建好后, 在 included Plug-ins tab 页面将刚才创建的UI工程添加进来。如下图3 创建普通的工程(目的是创建product configuration file)创建一个普通的project,最普通的工程
2022-03-24 12:15:07
702
原创 初探 Eclipse RCP
最近公司的产品需要用到桌面应用程序, 为此开始研究Eclispe rcp 框架。1 Eclipse RCP (Rich Client Platform)基于eclipse的应用, 用于创建富客户端的单机应用程序。可以把eclipse IDE 看成是 RCP的作品。 大家都知道整个eclispe 是插件式的。 用RCP 来开发应用程序可以方便的扩展其他组件, 当然你的应用既可以扩展其他应用, 也可以被用开扩展。下面是层次架构。2 安装我直接按照官方工具书里说的, 在这里Eclipse IDE do
2022-03-22 10:04:36
2861
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人