资源简介
不精确一维搜索wolfe算法。C++环境编译
代码片段和文件信息
#include
#include“math.h“
using namespace std;
#define MIU 0.1
#define SIGMA 0.5
void wolfe()
{
double x1[2]={00};
double x2[2]={00};
int pk[2]={10};
double a=0b=10000000000alpha=1j=0;
x2[0]=x1[0]+alpha*pk[0];
x2[1]=x1[1]+alpha*pk[1];
double fg2[2]g1[2];
f=100*(x2[1]-x2[0]*x2[0])*(x2[1]-x2[0]*x2[0])+(1-x2[0])*(1-x2[0]);
g1[0]=-400*(x1[1]-x1[0]*x1[0])*x1[0]-2*(1-x1[0]);
g1[1]=200*(x1[1]-x1[0]*x1[0]);
g2[0]=-400*(x2[1]-x2[0]*x2[0])*x2[0]-2*(1-x2[0]);
g2[1]=200*(x2[1]-x2[0]*x2[0]);
double g2pk=g2[0]*pk[0]+g2[1]*pk[1];
double g1pk=g1[0]*pk[0]+g1[1]*pk[1];
bool conditionA=100*(x1[1]-x1[0]*x1[0])*(x1[1]-x1[0]*x1[0])+(1-x1[0])*(1-x1[0])-f>=-MIU*alpha*g2pk?true:false;
bool conditionB=g2pk>=SIGMA*g1pk?true:false;
cout<<‘j‘<<‘\t‘<<“alpha“<<‘\t‘<<“Xk+1“<<‘t‘<<‘f‘<<‘\n‘;
while(!conditionA||!conditionB)
{
if(!conditionA)
{
j=j+1;
b=alpha;
alpha=(a+alpha)/2;
x1[0]=0x1[1]=0;
x2[0]=x1[0]+alpha*pk[0];
x2[1]=x1[1]+alpha*pk[1];
f=100*(x2[1]-x2[0]*x2[0])*(x2[1]-x2[0]*x2[0])+(1-x2[0])*(1-x2[0]);
g1[0]=-400*(x1[1]-x1[0]*x1[0])*x1[0]-2*(1-x1[0]);
g1[1]=20
相关资源
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
评论
共有 条评论