【学习笔记】powell法的python实现

学习最优化理论算法时用到了《优化设计》和《最优理论与方法》两本书。

根据的《优化设计》第55页的流程图,实现了流程图前半部分的代码设计(尚未添加Powell判断条件),给自己也给正在学习的朋友们留下学习笔记。

代码如下:

import numpy as np

from sympy import symbols,solve,diff

import time

e = 0.01  #精度

n = int(input('请输入n的值:'))

count = 0 # 迭代次数计数器

maxtimes = int(input('请输入最大迭代次数:'))  # 最大迭代次数

time_s = time.time()

# 定义初始点

X0 = []

for i in range(1,n+3):

    if i % 3 == 0:

        X0.append(0.5)

    elif i % 3 == 1:

        X0.append(0.5)

    elif i % 3 == 2:

        X0.append(1)

# 初始方向

d = np.identity(n+2,dtype = int)

# 定义目标函数

def objfun(n,x):

    f = 0

    for i in range(1,n+1):

        item = (-x

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值