Bocop-2.2.1型

Bocop 2.2.1出局了!linux、windows和macos的软件包位于下载第页。

变更日志:

–[examples]在goddard示例中添加了示例python脚本
–[gui]将gui可执行文件移动到包根文件夹(而不是qtgui/)
–[core]force标志-std=gnu++11(c++11导致CppAD的窗口出现问题)
–[core]消除了一些剩余的编译警告(也使用clang构建)
–[core]将boost中的shared-ptr替换为std-one(需要c++11);拆下的增压

Bocop 2.2.0型

Bocop 2.2.0已退出!linux软件包位于下载第页。MacO和Windows软件包即将推出。

变更日志:

–[bugfix]修复了publictools中函数“readCSVtoMatrix”的名称
–[bugfix]批处理优化现在可以正确使用“problem.sol”以外的初始化文件(续)
–[bugfix]在示例jackson_id3中,函数条件现在按预期返回0
–[示例]添加了示例微电网(确定性版本)
–[示例]添加了健康保险示例(审计和非审计版本)
–[示例]添加了范德波尔示例
–[示例]添加了一阶和二阶积分器示例
–[python]在BocopUtils.py中添加了一组python实用程序
–[核心/问题]增加了时间步数,作为函数动力学的参数
–[core/problem]恢复了动态中缺少返回值的检查。增加了标准的类似检查。
–[core/problem]在函数pathcond中启用了过去的控件插值(已经为动力学完成)。
–[core]几个内部数组替换为向量,以便于处理。
–[核心]一些代码清理和重组(.sol保存,约束评估)
–优化后的[core]Ipopt状态现在保存在.sol文件中,而不是保存在cpu时间(仍在result.out中)
–[core]对于参数识别,观测误差之和除以观测次数。
–[第三方]衍生品计算现在默认使用CppAD,而不是Adolc/Colpack。这将带来更好的总体性能。特别是windows版本应该更健壮。
–[第三方]IPOPT更新至3.12.12。这应该可以防止Windows构建在检测Matlab时挂起。
–[第三方]CPPAD更新至20190200.3版本。

对于Windows用户

windows用户的两个小注意事项:

  • Bocop 2.1.0使用更新的MinGW版本,这可能会导致与以前的Bocop包不兼容。我们建议windows用户在安装Bocop 2.1.0之前卸载以前的Bocop/MinGW(重命名MinGW文件夹就足够了,这样旧的C:\MinGW就不会与新的Bocop-2.1.0/MinGW冲突)。
  • Windows软件包使用稍旧版本的AdolC(对于linux/mac软件包,为2.5.2版本vs 2.6.3版本),在某些示例中可能表现较差,即生物反应器,白血病游泳运动员。如果在运行这些示例时遇到问题,请通过编辑文件中的第47行切换到CppADBocop-2.1.0/CMakeLists.txt公司并将选项从OFF设置为ON。然后在再次运行之前清除并重建问题。

选项(USE_CPPAD“使用CPPAD而不是Adol-C/Colpack进行自动区分”)

皮埃尔

最后一件小事:这个例子似乎更满的缺少其文件问题常量,导致错误。这将在下一次更新中修复,同时您可以简单地复制问题常量来自示例违约.

几个新示例

这个示例页面已更新,包含三个新类别:能源系统(微电网),延迟系统(收获、白血病)和过程法(1D积分器、2D积分器,鼠标和迷宫:扩展版)。这些新示例包含在最新的Bocop和BocopHJB包中。

Bocop 2.1.0型

Bocop 2.1.0出局了!这些软件包位于下载第页。

在这个版本中,我们为Windows用户提供了最新的MinGW和CMake(3.10)(现在兼容c++11)。

更改日志信息:

2017年10月17日:bocop-2.1.0

–动态功能现在可以访问过去的状态和控制变量,
为了解决延迟问题;pathcond可以访问过去的状态。
仅限于固定的最终时间案例。新的例子:收获,白血病。
–现在将问题维度传递给预处理功能。
–添加到publicTools的Heaviside和2Dinterpolation函数
–[gui]可视化现在显示状态变量的边界(可选)。
–gui的[gui]错误修复程序无法在参数中定位观测文件
识别问题。参见杰克逊示例。
–gui的[gui]错误修复有时会将问题离散化重置为
默认值(具有100个时间步长的中点)。
–调整了稀疏hessian计算的[core]ADOL-C选项
而且在大多数情况下都应该有更好的表现。
–[核心]时间离散化现在已硬编码(BocopDefinition.cpp)
而不是在运行时读取.disc文件。因此,Bocop可执行文件
运行时不再需要访问Bocop根包。
可用方法:Euler(显式)、Euler(隐式)、Midpoint(imp.)、,
高斯二世和洛巴托三世。
–[core]约束违反的L2范数现在已正确保存在.sol文件中。
–[核心]一些.tpp文件与其对应的.hpp文件合并。
–[core]修复了一些轻微的内存泄漏。
–[第三方、linux、mac]更新至最新的ADOL-C 2.6.3和COLPACK。
应减少内存使用,并加快导数的计算。
–[第三方]构建过程应该更快、更安静、更简单。
–[第三方]实验性:支持CppAD而不是AdolC/Colpack
计算导数。使用CMake选项USE_CPPAD启用。
–[脚本]基准脚本已更新。
–[windows]将Cmake和MinGW更新为最新版本(现在兼容c++11)。

BocopHJB 1.1.0型

BocopHJB 1.1.0发布,引入了一个与Bocop类似的新Qt GUI。

除了用户界面,这个版本还包括几个新的扩展和示例。下面的更改日志中提供了更新摘要,更多信息可以在用户指南示例目录.
Linux和MacOS的软件包位于下载第页,windows版本正在运行。

更改日志信息:

2017年9月1日:bocophjb-1.1.0
–[gui]BocopHJB现在有一个Qt gui!Gui允许定义问题
(C++代码除外)、可执行的构建和运行以及可视化。
–[core]为最终状态的约束添加了特定功能。
–[核心]对于交换系统,增加了可能的状态跳跃功能
过渡。还添加了选项来限制允许的集合
转换(参见迷宫示例),由文件或函数定义。
–[核心]可选计算状态概率分布(参见迷宫
示例)。分发只是一种输出,不能用于函数。
还记录了状态转换和模式切换的概率。
–[core]输入文件.def已重新组织和扩展,所有块必须
以正确的顺序呈现。修改了控件离散化选项。
状态离散化现在位于.def文件中,而不是stateDisc/文件夹中。
模拟轨迹的起点/模式也在.def文件中
删除了C/C++文件simulation.cpp。
参数timestep.output.frequency现在硬编码为10%。
–在调试模式下构建时,[核心]新检查成本函数。
–[core]输出文件simulatedTrajectory.data中添加了一些新信息;
相应地更新了matlab读取脚本。
–[core]新的可选函数:preProcessing.cpp、postProcessing.copp和
依赖性.hpp/cpp。如果问题文件夹中不存在虚拟文件,则使用虚拟文件。
函数预处理可以修改起点(初始条件)
以及模式的数量(如果它们取决于一些问题常数)。
–[核心]增加了对国家电网内部初始点的检查,
以及用于弹道仿真的启动模式。
–[core]在单独的源文件(core/sources/IO)中分割IO功能。
–[核心]改进了轨迹模拟过程中不可行情况的处理。
–[核心]在轨迹模拟期间增加了目标的重新计算,
对运行成本、最终成本和转换成本有单独的条款。
–[核心]对值函数和模拟轨迹日志文件进行了微小更改。
–[core]改进了日志文件中的控件离散化信息。
–[核心]几个内部改进(hjb构造函数)