diff --git a/src/solvers/logit/efglogit.cc b/src/solvers/logit/efglogit.cc index 536677c89..cae2f769d 100644 --- a/src/solvers/logit/efglogit.cc +++ b/src/solvers/logit/efglogit.cc @@ -313,6 +313,9 @@ LogitBehaviorSolve(const LogitQREMixedBehaviorProfile &p_start, double p_regret, double p_firstStep, double p_maxAccel, MixedBehaviorObserverFunctionType p_observer) { + if (p_start.size() == 0) { + return {p_start}; + } PathTracer tracer; tracer.SetMaxDecel(p_maxAccel); tracer.SetStepsize(p_firstStep); @@ -321,7 +324,6 @@ LogitBehaviorSolve(const LogitQREMixedBehaviorProfile &p_start, double p_regret, if (scale != 0.0) { p_regret *= scale; } - const Game game = p_start.GetGame(); Vector x(ProfileToPoint(p_start)); TracingCallbackFunction callback(game, p_observer); @@ -347,6 +349,9 @@ LogitBehaviorSolveLambda(const LogitQREMixedBehaviorProfile &p_start, double p_firstStep, double p_maxAccel, MixedBehaviorObserverFunctionType p_observer) { + if (p_start.size() == 0) { + return {p_start}; + } PathTracer tracer; tracer.SetMaxDecel(p_maxAccel); tracer.SetStepsize(p_firstStep); @@ -380,6 +385,9 @@ LogitBehaviorEstimate(const MixedBehaviorProfile &p_frequencies, double MixedBehaviorObserverFunctionType p_observer) { const LogitQREMixedBehaviorProfile start(p_frequencies.GetGame()); + if (start.size() == 0) { + return start; + } PathTracer tracer; tracer.SetMaxDecel(p_maxAccel); tracer.SetStepsize(p_firstStep); diff --git a/src/solvers/logit/nfglogit.cc b/src/solvers/logit/nfglogit.cc index 0187887bd..e8e9f8167 100644 --- a/src/solvers/logit/nfglogit.cc +++ b/src/solvers/logit/nfglogit.cc @@ -351,6 +351,9 @@ LogitStrategySolve(const LogitQREMixedStrategyProfile &p_start, double p_regret, double p_firstStep, double p_maxAccel, const MixedStrategyObserverFunctionType &p_observer) { + if (p_start.size() == 0) { + return {p_start}; + } PathTracer tracer; tracer.SetMaxDecel(p_maxAccel); tracer.SetStepsize(p_firstStep); @@ -385,6 +388,9 @@ LogitStrategySolveLambda(const LogitQREMixedStrategyProfile &p_start, double p_firstStep, double p_maxAccel, const MixedStrategyObserverFunctionType &p_observer) { + if (p_start.size() == 0) { + return {p_start}; + } PathTracer tracer; tracer.SetMaxDecel(p_maxAccel); tracer.SetStepsize(p_firstStep); @@ -418,6 +424,9 @@ LogitStrategyEstimate(const MixedStrategyProfile &p_frequencies, double MixedStrategyObserverFunctionType p_observer) { const LogitQREMixedStrategyProfile start(p_frequencies.GetGame()); + if (start.size() == 0) { + return start; + } PathTracer tracer; tracer.SetMaxDecel(p_maxAccel); tracer.SetStepsize(p_firstStep);