- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Accord.Net 的 Cobyla 解算器来解决一个相当简单的非线性问题。在某些情况下,该问题将没有可行点。当我运行一个明显不可行的简单问题时,即使解决方案不可行,求解器也会返回“成功”。
考虑以下用 F# 编写的示例:
open System.Collection.Generics
let obj12 = QuadraticObjectiveFunction("a - a*a");
let c12 = QuadraticConstraint(obj12, Array2D.zeroCreate 1 1, [| 10.0 |], ConstraintType.LesserThanOrEqualTo, 4.0)
let c13 = QuadraticConstraint(obj12, Array2D.zeroCreate 1 1, [| 10.0 |], ConstraintType.GreaterThanOrEqualTo, 45.0)
let p1 = List<NonlinearConstraint>()
p1.Add(c12)
p1.Add(c13)
let solver1 = Cobyla(obj12, p1)
let success = solver1.Maximize()
let value = solver1.Value
let solution = solver1.Solution
let r = solver1.Status
求解器找到的解是 4.5,这显然违反了第一和第二个约束,但求解器状态为“成功”。
这是错误/功能吗?任何解决方法?
最佳答案
我是 C# COBYLA 代码的作者,该代码是 Accord.NET 版本 COBYLA 的基础。 C# 实现是对 Michael Powell 原始代码的 FORTRAN 77 的相当直接的翻译。
优化方法目前只支持三种返回状态:
没有明确的迹象表明约束被违反。 COBYLA 努力满足约束条件,但不保证一定会成功,并且可能会在未满足约束条件的情况下返回。
如果我正确地解释了您的示例(目前我的 F# 知识还有些生疏),那么您有两个相互矛盾的约束,或者?作为一种可能的解决方法,我建议您选择一个至少大致满足约束条件的变量开始猜测;这将使 COBYLA 更容易留在可行区域内。
关于f# - 当没有可行的解决方案时,Accord.net Cobyla 求解器返回成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30567946/
对于我的一个项目,我终于需要使用我的第一个多态类(std::cout 除外)。 我正在研究如何确保至少在某些情况下我有 100% 的去虚拟化调用。 这段代码是否合法可行? dynamic_cast 有
最近有一个编译问题,用这个片段说明: struct Base { }; template struct A : Base { A(){} A(Base&&) {} }; A foo()
注意:这是一个冗长的问题,需要对 MVVM“设计模式”、JSON 和 jQuery 有很好的理解.... 所以我有一个理论/主张 DHTML 中的 MVVM 是可能的 和可行的 并且想知道您是否同意/
我有一台 Mac 服务器,我正在构建 PHP 代码以允许用户上传图像、文档甚至视频文件。研究这个肯定让我很紧张,我希望上传的内容没有病毒。 自己构建一些东西会是一个巨大的挑战吗?您会这样做,还是会
根据文档,ASP.NET 项目(尚)不支持新的 PackageReference https://learn.microsoft.com/en-us/nuget/consume-packages/pa
我是一名优秀的程序员,十分优秀!