.. _secExamplesCpp: C++ API examples ================= This section lists a few examples in C++. These are the same files that can be found in the *examples* directory of the distribution, and show the basic usage of the C++ API. Example 1: First steps ---------------------- :download:`firstexample.cc <../../cpp/examples/firstexample.cc>` This example shows how to * read an AMPL model * reassign values to parameters * solve the model * display the objective function value Example 2: Get and set AMPL options ----------------------------------- :download:`optionsexample.cc <../../cpp/examples/optionsexample.cc>` This example shows how to: * get and set AMPL options Example 3: Use AMPL asynchronously ---------------------------------- :download:`asyncexample.cc <../../cpp/examples/asyncexample.cc>` This example shows how to: * set a callback for AMPL async operation (implementing :class:`ampl::Runnable`) * start and interrupt async operations Example 4: Get and set data through DataFrames ---------------------------------------------- :download:`dataframeexample.cc <../../cpp/examples/dataframeexample.cc>` This example shows how to: * Use :class:`ampl::DataFrame` objects to assign values to sets and parameters * Use an :class:`ampl::DataFrame` object to fetch and decouple values from a variable Example 5: Operate with multidimensional data --------------------------------------------- :download:`multidimensionalexample.cc <../../cpp/examples/multidimensionalexample.cc>` This example shows how to: * Use a :class:`ampl::DataFrame` to assign values to multidimensional parameters Example 6: Assign all data to a model and solve it -------------------------------------------------- :download:`dietmodel.cc <../../cpp/examples/dietmodel.cc>` This example shows how to: * Assign all the data necessary to generate a model instance programmatically Example 7: Build an efficient frontier -------------------------------------- :download:`efficientfrontier.cc <../../cpp/examples/efficientfrontier.cc>` This example shows how to: * build an efficient frontier by repeteatly solve a portfolio problem in AMPL Example 8: Simple heuristic --------------------------- :download:`trackingmodel.cc <../../cpp/examples/trackingmodel.cc>` This example shows how to: * Do a simple heuristics for solving a QMIP problem, using the relaxed solution as a hint