Пример #1
0
void LRBFGS::SetParams(PARAMSMAP params)
{
	SolversLS::SetParams(params);
	PARAMSMAP::iterator iter;
	for (iter = params.begin(); iter != params.end(); iter++)
	{
		if (iter->first == static_cast<std::string> ("isconvex"))
		{
			isconvex = ((static_cast<integer> (iter->second)) != 0);
		}
		else
		if (iter->first == static_cast<std::string> ("nu"))
		{
			nu = iter->second;
		}
		else
		if (iter->first == static_cast<std::string> ("mu"))
		{
			mu = iter->second;
		}
		else
		if (iter->first == static_cast<std::string> ("LengthSY"))
		{
			LengthSY = static_cast<integer> (iter->second);
		}
	}
};
Пример #2
0
void RNewton::SetParams(PARAMSMAP params)
{
	SolversLS::SetParams(params);
	PARAMSMAP::iterator iter;
	for (iter = params.begin(); iter != params.end(); iter++)
	{
		if (iter->first == static_cast<std::string> ("useRand"))
		{
			useRand = ((static_cast<integer> (iter->second)) != 0);
		}
		else
		if (iter->first == static_cast<std::string> ("Max_Inner_Iter"))
		{
			Max_Inner_Iter = static_cast<integer> (iter->second);
		}
		else
		if (iter->first == static_cast<std::string> ("Min_Inner_Iter"))
		{
			Min_Inner_Iter = static_cast<integer> (iter->second);
		}
		else
		if (iter->first == static_cast<std::string> ("theta"))
		{
			theta = iter->second;
		}
		else
		if (iter->first == static_cast<std::string> ("kappa"))
		{
			kappa = static_cast<integer> (iter->second);
		}
	}
};
Пример #3
0
	void Oblique::SetParams(PARAMSMAP params)
	{
		Manifold::SetParams(params);
		PARAMSMAP::iterator iter;
		for (iter = params.begin(); iter != params.end(); iter++)
		{
			if (iter->first == static_cast<std::string> ("ParamSet"))
			{
				switch (static_cast<integer> (iter->second))
				{
				case 1:
					ChooseObliqueParamsSet1();
					break;
				case 2:
					ChooseObliqueParamsSet2();
					break;
				case 3:
					ChooseObliqueParamsSet3();
					break;
				case 4:
					ChooseObliqueParamsSet4();
					break;
				default:
					break;
				}
			}
		}
	};
void SolversTR::SetParams(PARAMSMAP params)
{
    Solvers::SetParams(params);
    PARAMSMAP::iterator iter;
    for (iter = params.begin(); iter != params.end(); iter++)
    {
        if (iter->first == static_cast<std::string> ("Acceptence_Rho"))
        {
            Acceptence_Rho = iter->second;
        }
        else if (iter->first == static_cast<std::string> ("Shrinked_tau"))
        {
            Shrinked_tau = iter->second;
        }
        else if (iter->first == static_cast<std::string> ("Magnified_tau"))
        {
            Magnified_tau = iter->second;
        }
        else if (iter->first == static_cast<std::string> ("minimum_Delta"))
        {
            minimum_Delta = iter->second;
        }
        else if (iter->first == static_cast<std::string> ("maximum_Delta"))
        {
            maximum_Delta = iter->second;
        }
        else if (iter->first == static_cast<std::string> ("useRand"))
        {
            useRand = ((static_cast<integer> (iter->second)) != 0);
        }
        else if (iter->first == static_cast<std::string> ("Max_Inner_Iter"))
        {
            Max_Inner_Iter = static_cast<integer> (iter->second);
        }
        else if (iter->first == static_cast<std::string> ("Min_Inner_Iter"))
        {
            Min_Inner_Iter = static_cast<integer> (iter->second);
        }
        else if (iter->first == static_cast<std::string> ("theta"))
        {
            theta = iter->second;
        }
        else if (iter->first == static_cast<std::string> ("kappa"))
        {
            kappa = iter->second;
        }
        else if (iter->first == static_cast<std::string> ("initial_Delta"))
        {
            initial_Delta = iter->second;
        }
    }
};
Пример #5
0
void SolversLS::SetParams(PARAMSMAP params)
{
	Solvers::SetParams(params);
	PARAMSMAP::iterator iter;
	for (iter = params.begin(); iter != params.end(); iter++)
	{
		if (iter->first == static_cast<std::string> ("LineSearch_LS"))
		{
			LineSearch_LS = static_cast<LSAlgo> (static_cast<integer> (iter->second));
		}
		else
		if (iter->first == static_cast<std::string> ("LS_alpha"))
		{
			LS_alpha = iter->second;
		}
		else
		if (iter->first == static_cast<std::string> ("LS_beta"))
		{
			LS_beta = iter->second;
		}
		else
		if (iter->first == static_cast<std::string> ("Minstepsize"))
		{
			Minstepsize = iter->second;
		}
		else
		if (iter->first == static_cast<std::string> ("Maxstepsize"))
		{
			Maxstepsize = iter->second;
		}
		else
		if (iter->first == static_cast<std::string> ("LS_ratio1"))
		{
			LS_ratio1 = iter->second;
		}
		else
		if (iter->first == static_cast<std::string> ("LS_ratio2"))
		{
			LS_ratio2 = iter->second;
		}
		else
		if (iter->first == static_cast<std::string> ("Initstepsize"))
		{
			Initstepsize = iter->second;
		}
	}
};
Пример #6
0
void RCG::SetParams(PARAMSMAP params)
{
	SolversLS::SetParams(params);
	PARAMSMAP::iterator iter;
	for (iter = params.begin(); iter != params.end(); iter++)
	{
		if (iter->first == static_cast<std::string> ("ManDim"))
		{
			ManDim = static_cast<integer> (iter->second);
		}
		else
		if (iter->first == static_cast<std::string> ("RCGmethod"))
		{
			RCGmethod = static_cast<RCGmethods> (static_cast<integer> (iter->second));
		}
	}
};