Option to Copy Optimizer Action Created by User

Once the User has created an Optimizer Process then there should be an option to copy this process (like we have in Modules. this will make life easier, as now we have to take backup of entire model

3 votes

New · Last Updated


  • Status changed to: New
  • Yes, it would be best to make this idea happen! In the meantime, I've discovered a workaround that allows us to copy an Optimizer action with a small effort. Here's how:
    Step 1 - create a new Optimizer action.  Give it a name then set any line items as objective, constraint, and variable ... these line items don't matter, the only thing you'll keep is the name.
    Step 2 -  In the Actions tab, find the Optimizer action you wish to duplicate. In that row, click on the cell under the Action column that says "Optimizer" in blue letters. Copy.
    Step 3 - Now click on the blue "Optimizer" cell of the row of your new action.  Paste.
    Your new Optimizer action is now an exact copy (except for the name) of the original one.
    Note that if you paste into a text editor, you can see the configuration of the Optimizer action, although in a somewhat cryptic format (JSON?).  Now, someone should write VBA or Python that translates this format into a human-readable table that we can use as documentation.

    {"taskElement":"{\"taskElementType\":\"BULK_OPERATION\",\"operation\":\"OPTIMIZER\",\"data\":\"{\\\"timeOut\\\":300,\\\"problem\\\":\\\"linear\\\",\\\"objective\\\":{\\\"type\\\":\\\"max\\\",\\\"lineItem\\\":{\\\"module\\\":102000000046,\\\"lineItem\\\":372000000017,\\\"value\\\":\\\"OPT 03. Objective Function.Penalty for Inventory Below Safety Stock - GDC\\\"}},\\\"constraints\\\":[{\\\"module\\\":102000000048,\\\"lineItem\\\":376000000065,\\\"value\\\":\\\"OPT 02. Constraints.GDC MAX(0,Under Quantity) #1\\\"},{\\\"module\\\":102000000048,\\\"lineItem\\\":376000000066,\\\"value\\\":\\\"OPT 02. Constraints.GDC MAX(0,Under Quantity) #2\\\"},{\\\"module\\\":102000000048,\\\"lineItem\\\":376000000067,\\\"value\\\":\\\"OPT 02. Constraints.GDC MAX(0,Under Quantity) #3\\\"},{\\\"module\\\":102000000048,\\\"lineItem\\\":376000000068,\\\"value\\\":\\\"OPT 02. Constraints.GDC MAX(0,Under Quantity) #4\\\"}],\\\"variables\\\":[{\\\"lineItem\\\":{\\\"module\\\":102000000047,\\\"lineItem\\\":374000000038,\\\"value\\\":\\\"OPT 01. Variables.Safety Stock GDC - Shortage Quantity\\\"},\\\"lower\\\":\\\"0\\\",\\\"type\\\":\\\"2\\\"},{\\\"lineItem\\\":{\\\"module\\\":102000000047,\\\"lineItem\\\":374000000039,\\\"value\\\":\\\"OPT 01. Variables.pvar GDC Short Plus\\\"},\\\"lower\\\":\\\"0\\\",\\\"type\\\":\\\"2\\\"},{\\\"lineItem\\\":{\\\"module\\\":102000000047,\\\"lineItem\\\":374000000040,\\\"value\\\":\\\"OPT 01. Variables.pvar GDC Short Minus\\\"},\\\"lower\\\":\\\"0\\\",\\\"type\\\":\\\"2\\\"},{\\\"lineItem\\\":{\\\"module\\\":102000000047,\\\"lineItem\\\":374000000009,\\\"value\\\":\\\"OPT 01. Variables.FG at DC - End Inv\\\"},\\\"type\\\":\\\"2\\\"}],\\\"parameters\\\":[{\\\"name\\\":\\\"mipGap\\\",\\\"value\\\":0.0001}]}\"}","actionType":"TASK_ELEMENT"}

Get Started with Idea Exchange

See our Submission Guidelines and Idea Evaluation Criteria, then start posting your own ideas and showing support for others!