资源简介
不精确一维搜索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
相关资源
- 酒店管理系统 VC++ MFC实现)
- 用c++ 定义一个车(Vehicle)基类,有
- c++写的学生成绩管理系统
- 操作系统实习:动态分区分配C++实现
- 遥感图像彩色合成C++
- vc++ 浏览器 完整版
- 电话簿管理程序C++语言编写
- C++选课系统
- 原创c++二叉树抽象数据类型实现
- C++基础入门编写游戏代码及角色扮演
- 杂志订阅系统C++
- C++实验报告
- 多项式类的C++实现乘法、加法、代入
- aes算法实现C++)
- C++ 数字图像处理源代码
- c++面向对象课程设计报告_(学生成绩
- c++primer_第五版_中文版(完整).rar
- c++实现的哈夫曼编码和解码源代码
- 基于VC++的带通滤波器的设计与实现
- C++高斯投影正反算
- VC++查看鼠标在图像选点坐标程序
- SM2_SM3_SM4_C语言实现+SM3_C++实现+国家密
- C++下的socket异步通信源代码
- SDK入门(用C和C++来调用WindowsAPI)
- vigenere密码加密解密算法实现软件Vc
- C++仿qq程序源代码及程序
- VC++6.0完美运行在win7和win10系统上
-
xm
l解析 CMarkup类 c++ - C++ 操作注册表
- 用c++模拟直线插补和圆弧插补二.cpp
评论
共有 条评论