我的任务是将Excel Solver解决方案自动化到我们的应用程序中。我偶然发现了or-tools,它看起来和我想要的很接近--尽管我不确定,因为这是我第一次尝试与SAT相关的问题空间。 我有大约30个约束和一个目标。幸运的是,我能够将所有约束都建模到or-tools中,但是添加目标会一直返回Not an integer linear expression错误。我试图最小化的计算是方差-协方差矩阵: #!/usr/bin/env python3
from __future__ import print_function
from ortools.sat.python import cp_m
我使用python2.7,并且需要找到多变量标量函数的最大值。
换句话说,我有这个函数:
def myFun(a,b,c,d,e,f):
# complex calculation that takes about 30 seconds
return res # res is a float
这个函数不是凸的。
我为每个参数a,b,c,d,e和f指定了最小和最大可能值。我需要找出什么参数组合近似地导致myFun的最大值。我将为它提供一个良好的起点。
我尝试了一个强力网格搜索,但考虑到我的函数需要很长时间来计算,它是不可行的。
我已经调查过scipy包了。我特别了解了函数。这对我
对于双变量的非线性优化问题,如x和y,如何检验函数是否光滑,是中尺度问题还是大尺度问题。我是否应该使用“fmincon”求解器(在MATLAB中),因为变量有一个线性约束和边界?我需要全局最优,对于凸函数,局部最优和全局最优是一样的。但是我不知道如何检查我的函数的凸性?
我的问题是Min f (x,y),其中x<y和x,y>0。
如何检查这个成本函数是凹的还是凸的?我还想找出它是否有一个或多个最小值。
所作的努力;
function [w,pi,costvalue] = main_cost(inputdata, tmax, alpha_ini,somrow,somcol)
%main cost function; To get cost value for all possible random weights
%Input:
%inputdata : Data sample
%tmax : Maximum Iteraitions - This determines the
我在玩Wolfram元胞自动机的规则110。给定一行0和1,您可以使用以下规则计算下一行:
从00000000开始.1最后得到以下序列:
出于好奇,我决定用多项式近似这些规则,这样细胞不仅可以是0和1,还可以是灰色之间的颜色:
def triangle(x,y,z,v0):
v=(y + y * y + y * y * y - 3. * (1. + x) * y * z + z * (1. + z + z * z)) / 3.
return (v-v0)*(v-v0)
因此,如果x、y、z和v0匹配表中的任何规则,则返回0,否则返回正的非零值。
接下来,我将