游隼优化算法（Falco peregrinus Optimization Algorithm）
==============================================
算法缩写：FPO
提出年份：2026 年
编程语言：Python（NumPy + SciPy）与 MATLAB 双版本
文献：Wei & Zhong, Energy Reports 15 (2026) 109064

算法简介
----------------------------------------------
模拟游隼的高空巡航、俯冲捕猎与团队围堵行为：用逃逸能量在探索与开发之间切换，包含帐篷映射初始化、多场景栖息、高地策略、围攻、团队急坠、包围与莱维飞行七组策略。

包含文件
----------------------------------------------
  - python/fpo.py                     Python 主实现，纯 NumPy 向量化，入口 fpo(...)
  - python/run_fpo_cec2005.py         Python 冒烟测试：CEC2005 的 F1~F15
  - python/formula_audit.py           逐条公式数值一致性自检
  - matlab/FPO.m                      MATLAB 主实现，入口 FPO(...)
  - matlab/Get_Functions_details.m    CEC2005 测试函数 F1~F15
  - matlab/run_fpo_cec2005.m          MATLAB 冒烟测试：CEC2005 的 F1~F15

调用方式
----------------------------------------------
Python：
  import numpy as np
  from fpo import fpo
  best, best_x, curve = fpo(lambda x: np.sum(x**2), np.full(30, -100), np.full(30, 100), 30, 500, seed=2026)

MATLAB：
  [best, best_x, curve] = FPO(30, 500, -100, 100, 30, @(x) sum(x.^2));

参数说明
----------------------------------------------
  pop        种群规模
  M          最大迭代次数
  lb/ub      各维下界/上界
  dim        维数
  fobj       目标函数句柄
  alpha / elite_probability / inertia_weight
             对应原文 Eq.37 的学习率、Eq.40 的精英概率与惯性权重；
             原文未给出这三个参数的数值，代码把默认值集中在接口里，可按需要传入替换。

运行环境
----------------------------------------------
  Python：Python 3.9+、NumPy、SciPy（莱维飞行用到 scipy.special.gamma）
  MATLAB：R2016b 及以上

复现说明
----------------------------------------------
  本包按论文正文 Eq.29~Eq.42 逐条实现，未给出数值的参数已在代码中显式命名并集中到接口，
  不写死在算法内部；docs 之外不再附带其它文件。
  若中文注释显示乱码，请用 UTF-8 编码打开。

版权说明
----------------------------------------------
  算法由原论文作者提出，引用请标注上述 Energy Reports 文献；
  本包为独立复现实现，供学习与研究使用。
