对不起,措辞很差,但很难描述.
我想我会跳到这个例子:
add :: Integer -> Integer -> Integer
add x y = x + y
Run Code Online (Sandbox Code Playgroud)
为什么:
:: Integer -> Integer -> Integer
Run Code Online (Sandbox Code Playgroud)
代替:
:: Integer, Integer -> Integer
Run Code Online (Sandbox Code Playgroud)
箭头是" 函数类型映射运算符 ",而不是某种分隔符,不是吗?
我不想在git中蠢蠢欲动,我想像他们在FaceBook上说的那样"快速行动并打破局面".实际上,我认为这几乎是版本控制的重点.我真正需要注意什么?
我猜git rm,尤其是-r可能很危险.
什么时候分支,什么导致覆盖?
在Python PuLP中,线性编程约束可以变成弹性子问题.
http://www.coin-or.org/PuLP/pulp.html?highlight=lpsum#elastic-constraints
解决子问题可以优化距目标值的距离.
当然,目标值是这个子问题的最佳解决方案,但弹性化的全部意义在于我们认为这种解决方案可能是不可行的.
如何将子问题纳入整体问题?我尝试按照添加约束的方式将其添加到问题中,这会引发类型错误.我尝试将它放在目标函数中,这也不起作用.
我在上面的文档或此处托管的示例中找不到任何内容:
https://code.google.com/p/pulp-or/wiki/OptimisationWithPuLP?tm=6
这是我制定的子问题:
capacity = LpConstraint(e=lpSum([ x[m][n] * len(n.items) for n in N ]),
sense=-1, rhs=30, name=str(random.random()))
stretch_proportion = 30/50
elasticCapacity = capacity.makeElasticSubProblem(penalty=50,
proportionFreeBoundList=[1,stretch_proportion])
Run Code Online (Sandbox Code Playgroud)
以下是我认为必须将其纳入LP目标的最接近的事情:
def sub(m):
capacity = LpConstraint(e=lpSum([ x[m][n] * len(n.items) for n in N ]),
sense=-1, rhs=30, name=str(random.random()))
stretch_proportion = 30/50
elasticCapacity = capacity.makeElasticSubProblem(penalty=50,
proportionFreeBoundList=[1,stretch_proportion])
elasticCapacity.solve()
return elasticCapacity.isViolated()
Run Code Online (Sandbox Code Playgroud)
...
prob += lpSum( [ x[m][n] * reduce(op.add, map(D2, [i.l for i in n.items], [j.l for j in n.items]))\
for n in N …
Run Code Online (Sandbox Code Playgroud) 这是7个月前的一个老问题,当时堆栈溢出器同意Haskell计算Ackermann函数的低效率是由于编译器错误造成的.
7个月后,这似乎是固定的.似乎ack使用线性内存运行,但它运行速度非常慢.
main = print (ack 4 1)
-- Ackermann function
ack 0 n = n + 1
ack m 0 = ack (m-1) 1
ack m n = ack (m-1) (ack m (n - 1))
$ time ./ack
65533
>real 8m53.274s
>user 8m47.313s
>sys 0m4.868s
Processor 2.8 GHz Intel Core i7
Memory 8 GB 1333 MHz DDR3
Software Mac OS X Lion 10.7.5 (11G63)
Run Code Online (Sandbox Code Playgroud)
我只是要求对此有任何见解.更详细的将得到投票.请记住,我是函数式编程的新手,甚至关于尾递归与常规递归的简单评论也会受到赞赏和赞成.