标签: mathematical-optimization

如何在python2.5(严格)中取2加的倒数

我有数说37。37 位于 之间2**5 and 2**6。我想编写一个函数,它将数字作为参数并返回其下界的幂。

def foo(x=37)
{
 result =//Here calculation
 return result
}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,回报应该是5因为它的下限2**5 and 5是它的力量。

注意:一定要关心python 2.5

提前致谢。

python mathematical-optimization

0
推荐指数
1
解决办法
1830
查看次数

R:计算最大似然估计

我想计算方差= 36的正态分布均值μ的最大似然估计。

但是以下过程显示错误:

set.seed(36)

x <- rnorm(50,mean=20,sd=6)

loglikelikelihood<- function(mu,x){
 L = (-50)*log(sqrt(2*pi)*6)-((1/72)*(sum(x^2)-2*mu*sum(x)+50*mu^2))
 }

optimize(f=loglik,X=x,interval=c(0,100),maximum=T)
Run Code Online (Sandbox Code Playgroud)

inference r mathematical-optimization

0
推荐指数
1
解决办法
223
查看次数

最小二乘拟合正弦幂级数

我正在尝试适合形式的功能:

在此输入图像描述

其中A和B是固定常数.在scipy中,我通常(我认为合理规范)解决此类问题的方法如下:

def func(t, coefs):
    phase = np.poly1d(coefs)(t)
    return A * np.cos(phase) + B

def fit(time, data, guess_coefs): 
    residuals = lambda p: func(time, p) - data
    fit_coefs = scipy.optimize.leastsq(residuals, guess_coefs) 
    return fit_coefs
Run Code Online (Sandbox Code Playgroud)

这项工作正常,但我想提供一个分析雅可比行列式来改善收敛性.从而:

def jacobian(t, coefs):
    phase = np.poly1d(coefs, t)
    the_jacobian = []
    for i in np.arange(len(coefs)):
        the_jac.append(-A*np.sin(phase)*(t**i))
    return the_jac

def fit(time, data, guess_coefs):
    residuals = lambda p: func(time, p) - data
    jac = lambda p: jacobian(time, p)
    fit_coefs = scipy.optimize.leastsq(residuals, guess_coefs, 
                                       Dfun=jac, col_deriv=True)
Run Code Online (Sandbox Code Playgroud)

即使订单为2或更低,这也不会起作用.使用optimize.check_gradient()快速检查也不会产生积极的结果.

我几乎可以肯定Jacobian和代码是正确的(虽然请纠正我)并且问题更为基础:雅各比派中的t**i术语会导致溢出错误.这在函数本身中不是问题,因为这里单项式项乘以它们非常小的系数.

我的问题是:

  1. 我上面做了什么,代码有什么不对吗?
  2. 还是有其他问题吗?
  3. 如果我的假设是正确的,有没有办法预处理拟合函数,那么雅可比行为更好?也许我可以适应数据和时间的对数,或者其他东西. …

python numpy mathematical-optimization curve-fitting scipy

0
推荐指数
1
解决办法
251
查看次数

试图理解计算 Torch 中 LogSoftMax 输入的梯度的代码

代码来自:https : //github.com/torch/nn/blob/master/lib/THNN/generic/LogSoftMax.c

我没有看到这段代码如何计算模块 LogSoftMax 输入的梯度。我感到困惑的是两个 for 循环在做什么。

for (t = 0; t < nframe; t++)
{
sum = 0;
gradInput_data = gradInput_data0 + dim*t;
output_data = output_data0 + dim*t;
gradOutput_data = gradOutput_data0 + dim*t;

for (d = 0; d < dim; d++)
  sum += gradOutput_data[d];

for (d = 0; d < dim; d++)
  gradInput_data[d] = gradOutput_data[d] - exp(output_data[d])*sum;
 }
}
Run Code Online (Sandbox Code Playgroud)

mathematical-optimization gradient-descent torch softmax

0
推荐指数
1
解决办法
1549
查看次数

张量流量梯度始终为零

对于在第一个转换层之后的转换层,Tensorflow梯度始终为零.我已经尝试了不同的方法来检查,但渐变总是为零!这是可以运行以检查的小型可重现代码.

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import tensorflow as tf
import numpy as np
import math
import os
import random
import tflearn
batch_size = 100
start = 0
end = batch_size
learning_rate = 0.000001
num_classes = 4
time_steps = 4
embedding = 2
step = 1
_units = 500
num_of_filters = 1000

train_set_x = [[[1,2],[3,4],[5,6],[7,8]],[[1,2],[3,4],[5,6],[7,8]]]
train_set_y = [0,1]

X = tf.placeholder(tf.float32, [None,time_steps,embedding])
Y = tf.placeholder(tf.int32, [None])


x = tf.expand_dims(X,3)

filter_shape = [1, embedding, …
Run Code Online (Sandbox Code Playgroud)

python mathematical-optimization gradient-descent tensorflow

0
推荐指数
1
解决办法
3250
查看次数

Pyomo(GLPK、Windows)在“results.yml”中向我显示了奇怪的结果

使用 Pyomo 5.1.1(Windows 7 上的 CPython 2.7.10),我尝试执行最简单的 Pyomo 示例,具体模型见https://software.sandia.gov/downloads/pub/pyomo/PyomoOnlineDocs。 html#_a_simple_concrete_pyomo_model

from __future__ import division
from pyomo.environ import *
model = ConcreteModel()
model.x = Var([1,2], domain=NonNegativeReals)
model.OBJ = Objective(expr = 2*model.x[1] + 3*model.x[2])
model.Constraint1 = Constraint(expr = 3*model.x[1] + 4*model.x[2] >= 1)
Run Code Online (Sandbox Code Playgroud)

我执行:

> pyomo solve Pyomo_concrete_v1.py --solver=glpk
Run Code Online (Sandbox Code Playgroud)

根据我自己的计算,结果应该是:

x[1]=0
x[2]=0.25
OBJ=0.75
Run Code Online (Sandbox Code Playgroud)

但是,我发现以下“results.yml”:

# ----------------------------------------------------------
#   Problem Information
# ----------------------------------------------------------
Problem: 
- Name: unknown
  Lower bound: 0.666666666667
  Upper bound: 0.666666666667
  Number of objectives: 1
  Number of constraints: 2
  Number of …
Run Code Online (Sandbox Code Playgroud)

python mathematical-optimization linear-programming glpk pyomo

0
推荐指数
1
解决办法
823
查看次数

我可以在 PuLP 中制作 Min Z = max(a,b,c)

我想知道我是否可以在PuLP 中创建一个多目标函数,通过这样做我可以在PuLP 中创建一个 Min Z = max(a,b,c),但是在使用此代码时

    ilp_prob = pulp.LpProblem("Miniimize Problem", pulp.LpMinimize)
    x = []
    if m >3:
        return 1,1
    for i in range(m):
        temp = []
        for j in range(len(jobs)):
            temp += [pulp.LpVariable("x_%s_%s" %((i+1),(j+1)),0,1, cat = 'Binary')]
        x+= [temp]
    ilp_prob += max([pulp.lpSum([jobs[j]*x[i][j] for j in range(len(jobs))] for i in range(m))])
    for i in range(len(jobs)):
         ilp_prob += pulp.lpSum([x[j][i] for j in range(m)])==1 
    ilp_prob.solve()
Run Code Online (Sandbox Code Playgroud)

它只返回 x[0] 中的所有 1,以及 x[0] 中的所有 0。

python mathematical-optimization linear-programming pulp

0
推荐指数
1
解决办法
1748
查看次数

多维决策变量 python docplex

为了解决我的库存问题,我需要一个三维决策变量x_{ij}^t

我是 CPLEX Python API docplex 的新手,到目前为止我发现的是

m = Model(name='inventory_problem')
x = m.integer_var_matrix(keys1=all_origins, keys2=all_destinations)
Run Code Online (Sandbox Code Playgroud)

这将涵盖索引中的 i 和 j 但如何包含第三个维度?

我想这不是很困难,但我就是找不到它......非常感谢!

python mathematical-optimization cplex multidimensional-array docplex

0
推荐指数
1
解决办法
1334
查看次数

如何避免零除错误?

我正在使用MATLAB来计算图像的幅度和相位.我使用以下公式来获得相位角:

Phase_Angle = tan^-1(Y_Magnitude/X_Magnitude)
Run Code Online (Sandbox Code Playgroud)

因此,如果X_Magnitude矩阵包含零值将导致NaN 没有人会喜欢那样..

matlab image-processing mathematical-optimization

0
推荐指数
1
解决办法
100
查看次数

使用 scipy.optimize 最大化目标函数

scipy.optimize 模块具有 scipy.optimize.minimize,它允许找到最小化目标函数的值。但是没有 scipy.optimize.maximize。为什么?如何使用 SciPy 解决最大化问题?

python mathematical-optimization scipy

0
推荐指数
1
解决办法
4334
查看次数