问题标签 [objective-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
86 浏览

gekko - GEKKO 中的 MPC:错误代码“位置 4”解决方案

问题已更新

以前,我的模型中的控制变量mP范围很广,导致求解器失败。在约翰博士的建议下,我尝试在目标函数中对 P进行对数缩放。当出现新错误并出现错误代码“位置 4”时:

以下是模型和求解器设置的一部分。在模型中,我有控制变量m.log_P,还有两个乘数变量m.u_1,m.u_2,其他变量P,Q,D_1,D_2是状态变量,小写字母都是常数。)

在这里,我使用 '''m.options.CV_TYPE = 2 # l2-norm''' 设置了二次误差项。

一个错误代码为“位置 5”的在线案例是由于该等式中缺少“dt()”。看起来很相似,但不是我的情况。谁可以帮我这个事?提前致谢!!

0 投票
0 回答
173 浏览

optimization - 使用 ORtools 求解器进行图形着色的目标函数

我写了一个 cp 函数来用 ORtools 解决图形着色

(最小化颜色使用,当边缘上每两个顶点的颜色需要不同时)我得到奇怪的结果,这不是最优的,我不知道为什么 - 我认为我的目标函数是错误的,或者我的约束公式是错误的,任何帮助? 谢谢

0 投票
1 回答
195 浏览

python - 自定义 XGB obj 函数

我想先说我对使用 xgboost、pandas 和 numpy 还是很陌生。

目前我正在基于 kelly 标准为 XGBoost 实现自定义 OBJ 函数。这种方法取自 datascience.stackexchange 上的另一篇文章:https ://datascience.stackexchange.com/questions/16186/kelly-criterion-in-xgboost-loss-function

通过阅读 XGBoost 的文档,我需要返回梯度和粗麻布。( https://xgboost.readthedocs.io/en/latest/tutorials/custom_metric_obj.html ) 函数的梯度为:

坡度

函数的粗麻布为:

黑森州

在哪里:

b = 投注获得的赔率

p = 获胜的概率

x = 算法预测

为此,我将 p 视为二进制变量,1 或 0,以判断下注是否成功。

因此,p = 真实结果,1 或 0

使用我编写以下代码的文档,我还提供了一个小型示例数据集:

但是,当我运行上述代码时,出现以下错误:

我不确定是什么导致了这个问题。任何见解或帮助将不胜感激。

0 投票
1 回答
157 浏览

python - Docplex 目标函数:最小化最大值

我需要最小化字典的最大值。如何表达目标函数?

示例输入:A = {1: 1.0, 2: 2.0, 3: 2.0, 4: 1.0, 5: 7.0, 6: 1.0, 7: 4.0}

到目前为止,我已经尝试过:

  • 计数 == 最大值(A.values())
  • 计数 == max(A.items(), key=operator.itemgetter(1))[1])

模型.最小化(计数)

我得到的错误是:DOcplexException: Unsupported relationship operator: x282 > x281, only <=, ==, >= are allowed

感谢任何答案!

0 投票
1 回答
50 浏览

python - PuLP:规范化多个决策变量并分配权重

我有 4 组不同规模的决策变量。

dgp, dgm, (y_s1+y_s2), v

dgp, dgm, (y_s1+y_s2) 低于 1000 v 在 6000 到 16000 的范围内。我想为目标函数中的 4 个变量中的每一个分配一定的权重,并且正在考虑将每个变量标准化为在添加权重之前在 0 到 1 之间。你能建议我该怎么做吗?

0 投票
0 回答
196 浏览

python - 如何在自定义目标函数中重现 LGBM(lightGBM)泊松损失

在我的回归问题中,当使用 LGBM 的内置泊松损失时,我得到了非常好的模型性能。现在我试图在我的自定义目标函数中重现 LGBM 的泊松损失。

这是LGBM的泊松函数源代码:https max_delta_step=0.7 ://github.com/microsoft/LightGBM/blob/7076cb8a3ac3a7b32dcf37be5593dddf27bf7f16/src/objective/regression_objective.hpp#L446在这里配置:https ://github.com/microsoft/LightGBM /blob/7076cb8a3ac3a7b32dcf37be5593dddf27bf7f16/include/LightGBM/config.h#L792

因此,在创建自定义目标函数时,我对 poission loss 的理解可以写成:

但是在不更改 LGBM 中的任何其他设置的情况下使用此代码,我的模型性能要差得多....

有谁知道如何在定制的反对函数中重现 LGBM 的泊松损失?

0 投票
0 回答
33 浏览

matlab - MATLAB中复合层压板的遗传算法优化

我想制作一个执行以下操作的 GA:

  • 找到复合材料中满足 D(2,2) >= 210 且不失效(安全系数 > 0)的最小层数

我的目标函数是

我使用了 MATLAB GA

重要的是要说明:

  • X是我通过代码的层压板
  • 我使用索引来表示层 1=-75°, 2=-60°, ..., 12=90°, 13=inf
  • infLoc 表示对应于“inf”值的索引,该值表示一个空层
  • lb 都是 1(最小索引)
  • ub 都是 13(最大索引)
  • inLamSize 是层的起始数量(例如,50)和变量的数量
  • 所有变量都被认为是 lb-ub 之间的整数

我的目标函数是

我的问题是GA没有找到正确的最小层数,这个问题是18(通过ModelCenter获得)。它似乎去了 19 和所有层对应的最小索引 1 代表 -75 度。我想知道是否正确定义了我的目标函数?或者我忽略了一些东西。此外,如果我强制所有 90 度层的初始上篮,那么它会找到正确的答案。

0 投票
1 回答
70 浏览

python - 使用 pyomo 模型优化功能

我的优化代码有问题。我编写的代码应该优化这两个目标,考虑它们的表达式并产生可以绘制的值。这是我的代码,如下所述。

这是出现的错误,

任何人都可以通过向我显示错误或帮助我来帮助我解决这个问题吗

0 投票
0 回答
41 浏览

python - pyomo在定义目标函数时可以处理分割函数(由numpy定义)吗?

我想在 pyomo 中实现以下目标函数:

obj_rule 是我在 pyomo 中的目标函数,函数 alpha_beta 是 obj_rule 调用的外部函数。我收到一个错误(错误消息的一部分):

如何解决这个问题并以正确的方式实现目标函数?谢谢!

0 投票
0 回答
23 浏览

python - 使用 RSOME 和 Gurobipy 在 m 个时隙上求解 MILP 目标函数

我正在尝试解决许多时隙(m 个时隙)中的能量优化问题,我正在使用 GurobiPy 和库 RSOME。我不想迭代地求解每个时隙,而是想向我的求解器提供未来时隙的所有参数和输入数据,以便影响其当前的决策。在这种情况下,我的决策变量 Pimp(输入能量)和 Pex(输出能量)的维度是 m 数组。

当我尝试编写使能源成本最小化的目标函数时

我收到以下关于维度的错误(在定义我的约束时我也可能会遇到)。我想同时在所有时隙上解决这个整体模型,那么我该怎么做?这个错误来源是什么?