• 大小: 0.01M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: 其他
  • 标签: 其他  

资源简介


自己使用python实现的部分工程优化算法,包括梯度下降,共轭梯度,牛顿迭代,拟牛顿法等多种优化算法

资源截图

代码片段和文件信息

#!coding:utf8

#Bug point:
#matlab index start 1 ;python index start 0
#matlab 1:3=123;python 1:3=12 without 3
#python 1/2=0 1.0/2=1.0/2.0=0.5
#注意numpy的array和mat如果生成为整数类型,则存储浮点类型会自动取整


from copy import deepcopy
from numpy import *
from random import *

def gradient(fgfx0thres=0.0001):
    while True:
        p=-1*array(gf(fx0))
        if linalg.norm(p2)<=thres:
            return x0
        la=secant(fx0p)
        x0=x0+la*p
        #print f(x0)

#梯度下降z型收敛,接近最优点收敛缓慢,改进2次梯度下降xk->xk+1->xk+2使用一次xk+2-xk
#实验证明改进梯度下降效果非常明显梯度下降在最优点附近收敛非常慢
def partan(fgfx0thres=0.0001):
    while True:
        x=[]
        for i in range(2):
            p=-1*array(gf(fx0))
            if linalg.norm(p2)<=thres:
                return x0 
            if i==0:
                x.append(x0)
            la=secant(fx0p)
            x0=x0+la*p

            if i==1:
                x.append(x0)

        p=x[1]-x[0]
        la0=random()*randint(02)
        la1=la0+randint(02)
        x0=x0+la*p
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

 -rw-rw-r--      2210  2016-09-27 13:03  Optimize\mathtools.pyc

 -rw-rw-r--      2773  2016-10-08 11:27  Optimize\co.py

 -rw-rw-r--      3883  2016-10-09 17:04  Optimize\doc

 -rw-rw-r--      7388  2016-09-26 13:41  Optimize\analysis.py

 -rw-rw-r--      6677  2016-09-27 12:42  Optimize\ods.py

 -rw-rw-r--      1528  2016-10-08 11:27  Optimize\mathtools.py

 -rw-rw-r--      5663  2016-09-27 12:47  Optimize\search.py

 drwxrwxr-x         0  2016-10-09 17:04  Optimize

----------- ---------  ---------- -----  ----

                30122                    8


评论

共有 条评论