No output of SV fix violations after search
grumpyinca opened this issue · comments
After completing a search with state variable (dependent variable) in fixed status, the PL/I code will output fix violations for state variable. The JS code of release 0.5 does not.
Compare expected_dos.txt versus expected_out.txt for release 0.5. The test case of a search with a fixed state variable (fix stress 3500) is just past the mid-point.
Running PCyl PL/I under DOS I get the following after starting PCyl and entering "fix stress 3500", "search" and "quit". After the search, I see "DEPENDENT VARIABLE FIX VIOLATIONS".
Running the JS, I get the following.
PCyl: fix stress 3500
fix stress 3500
STRESS IS A DEPENDENT VARIABLE.
REMEMBER THAT A SEARCH WILL BE REQUIRED TO ESTABLISH THE DESIRED VALUE.
STRESS IS FIXED AT 3500.0000 PSI
PCyl: search
search
No report available.
SEARCH: OBJ = 0.744184
NOTE: DEPENDENT VARIABLE STRESS IS FIXED AT 3500.0000 PSI
ADDITIONAL COMPUTATIONAL EFFORT MAY BE ANTICIPATED.
RETURN ON: DELMIN 15 ITER. OBJ = 0.105316
THE RESULT IS NOT FEASIBLE.
YOU NEED TO DO A LITTLE MORE WORK ON THIS DESIGN.
REFER TO THE DOCUMENTATION SECTION ON "FEASIBILITY" FOR SUGGESTIONS.
CONSTRAINT VIOLATIONS
VALUE LEVEL DIFFERENCE PERCENT
RADIUS MAX 0.5745 0.5000 0.0745 14.8917 VIOLATED
THICKNESS MAX 0.0575 0.0500 0.0075 14.9040 VIOLATED
FORCE MIN 778.0647 1000.0000 221.9353 22.1935 VIOLATED
DEPENDENT VARIABLE FIX VIOLATIONS
VALUE LEVEL DIFFERENCE PERCENT
STRESS = 3752.0821 3500.0000 252.0821 10.8035 PSI
VALUE OF THE OBJECTIVE FUNCTION AT THIS POINT IS: 0.105316
PCyl:
Both show "DEPENDENT VARIABLE FIX VIOLATIONS" so I think this is working as expected. Can you explain to me where I might have been mistaken, otherwise please close this issue.
Made one small change to list.js. Change "VALUE LEVEL DIFFERENCE PERCENT" to "VALUE LEVEL DIFFERENCE WEIGHTED" to match the DOS PLI version. Merged into master, closing.
This looks good. I was blocked on my attempt to confirm that operation is now correct in the latest pcyl.js. Refer to Slack for the details. I will try again at my next opportunity.
I was able to pull the latest code from master and confirm that the output of fix violations after search effectively matches corresponding output from the DOS / PL/I version.
Closing the issue.