Closed Adrian-Diaz closed 3 months ago
@trilinos/rol
@Adrian-Diaz : Yes, the Dai-Fletcher method is for singly linearly constrained problems, see
https://doi.org/10.1007/s10107-005-0595-2
For multiple linear constraints, you can set the Polyhedral Projection to Semismooth Newton, for instance
<ParameterList name="Polyhedral Projection">
<Parameter name="Type" type="string" value="Semismooth Newton" />
<Parameter name="Iteration Limit" type="int" value="100" />
</ParameterList>
under the 'General' parameter list. You may need to set the projection parameters for your ROL::Problem
object, similar to this code fragment:
if (mul->dimension() == 1)
list.sublist("General").sublist("Polyhedral Projection").set("Type","Dai-Fletcher");
else
list.sublist("General").sublist("Polyhedral Projection").set("Type","Semismooth Newton");
problem = ROL::makePtr<ROL::Problem<RealT>>(obj,sol);
problem->addBoundConstraint(bnd);
problem->addLinearConstraint("LEC",con,mul);
problem->setProjectionAlgorithm(list);
That seems to have run, however after about 15 minutes it gives me an answer that's about 7 times more (53 vs 7.2) the compliance objective I got with Augmented Lagrangian and Trust region SPG (with about 4% mass constraint error and 1% MOI error). I guess its possible the mesh is still too coarse and that's the answer, but with 400-500k elements I would have expected it could find something closer to what I got with AL-TR-SPG. Any idea what might be going on there?
This issue has had no activity for 365 days and is marked for closure. It will be closed after an additional 30 days of inactivity.
If you would like to keep this issue open please add a comment and/or remove the MARKED_FOR_CLOSURE
label.
If this issue should be kept open even with no activity beyond the time limits you can add the label DO_NOT_AUTOCLOSE
.
If it is ok for this issue to be closed, feel free to go ahead and close it. Please do not add any comments or change any labels or otherwise touch this issue unless your intention is to reset the inactivity counter for an additional year.
This issue was closed due to inactivity for 395 days.
Greetings,
Recently I was trying to perform topology optimization with the constraint projection methods in ROL, however when I try to have more than one inertial constraint (mass and moment of inertia) it seems I get an error for the Dai-Fletcher algorithm saying the range must be one dimensional. Is this algorithm intended for use with one constraint? if so, which one would be recommended for multiple?
Thanks for any help, Adrian Diaz