Allows to write M_.NNZDerivatives_objective in the driver.m file
Writes the number of non-zero derivatives of the planner objective function NNZDerivatives_objective in the driver.m file. Useful for the k-order approximations of welfare.issue#70
parent
910649dd28
commit
22fbfb0fba
|
@ -2175,6 +2175,10 @@ PlannerObjectiveStatement::computingPass()
|
||||||
void
|
void
|
||||||
PlannerObjectiveStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
|
PlannerObjectiveStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
|
||||||
{
|
{
|
||||||
|
output << "M_.NNZDerivatives_objective = [";
|
||||||
|
for (int i=1; i < static_cast<int>(model_tree.getNNZDerivatives().size()); i++)
|
||||||
|
output << (i > model_tree.getComputedDerivsOrder() ? -1 : model_tree.getNNZDerivatives()[i]) << ";";
|
||||||
|
output << "];";
|
||||||
model_tree.writeStaticFile(basename + ".objective", false, false, false, "", {}, {}, false);
|
model_tree.writeStaticFile(basename + ".objective", false, false, false, "", {}, {}, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -455,6 +455,20 @@ public:
|
||||||
return equation_tags.getTagsByEqn(eq);
|
return equation_tags.getTagsByEqn(eq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! Returns the vector of non-zero derivative counts
|
||||||
|
inline const vector<int> &
|
||||||
|
getNNZDerivatives() const
|
||||||
|
{
|
||||||
|
return NNZDerivatives;
|
||||||
|
}
|
||||||
|
|
||||||
|
//!Returns the maximum order of computed derivatives
|
||||||
|
inline int
|
||||||
|
getComputedDerivsOrder() const
|
||||||
|
{
|
||||||
|
return computed_derivs_order;
|
||||||
|
}
|
||||||
|
|
||||||
inline static string
|
inline static string
|
||||||
BlockSim(BlockSimulationType type)
|
BlockSim(BlockSimulationType type)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue