[Ipopt] Where to find hs071_nlp.hpp?

Andreas Waechter andreasw at watson.ibm.com
Tue Jun 7 10:43:46 EDT 2011


Hi Paul,

hs071_nlp.hpp is the header file from the example in 
Ipopt/examples/hs071_cpp.  At some point you will need to implement your 
version of the TNLP class (to be given to the app->OptimizeTNLP method), 
and create a header for that.  That would be the replacement of 
hs071_nlp.hpp in your context.

Andreas

On Tue, 7 Jun 2011, Paul van Hoven wrote:

> Hi!
>
> I successfully compiled and installed IPOpt and until now I used the
> matlab interface to do my calculation. This works really fine!
>
> But now I need to use IPOpt in a C++ environment. To get familiar with
> the C++ interface I wanted to understand the tutorial posted in the
> ipopt documentation. So I started with the following piece of code:
>
>
> #include "IpIpoptApplication.hpp"
> #include "hs071_nlp.hpp"
>
> using namespace Ipopt;
>
> int main(int argv, char* argc[])
> 	{
>
> 	SmartPtr<TNLP> mynlp = new HS071_NLP();
>
> 	SmartPtr<IpoptApplication> app = IpoptApplicationFactory();
>
> 	return 0;
> 	}
>
> And here is my Makefile
>
> CXX        = g++
> CFLAGS     =
> IPOPT_HOME = /path/to/Ipopt/include/coin
> THIRD_PARTY = /path/to/Ipopt/include/coin/ThirdParty
>
> LIBS      = -lm -ldl -L/path/to/Ipopt/lib/coin -lipopt
> -L/path/to/Ipopt/lib/coin/ThirdParty -lcoinblas -lcoinlapack -lcoinhsl
> INCLUDE   = -I$(IPOPT_HOME) -I$(THIRD_PARTY)
>
> TARGET = IPOptDemo
>
> all:$(TARGET)
> $(TARGET): $(TARGET).o
> 	$(CXX) $(LIBS) -o $(TARGET) $^
> 	rm *.o
>
>
> $(TARGET).o: $(TARGET).cpp
> 	$(CXX) $(CFLAGS) $(INCLUDE) -c $^
>
> clean:
> 	rm *.o $(TARGET)
>
> The problem is that I get the following error message when trying to
> compile the code above:
> make
> g++  -I/hpath/to/Ipopt/include/coin
> -I/path/to/Ipopt/include/coin/ThirdParty -c IPOptDemo.cpp
> IPOptDemo.cpp:2:25: fatal error: hs071_nlp.hpp: No such file or directory
> compilation terminated.
> make: *** [IPOptDemo.o] Error 1
>
> But I can't find hs071_nlp.hpp anywhere. Can anybody tell me what I
> have to do to get this running?
>
>
>
> BTW: This code here compiles fine
> //#include "hs071_nlp.hpp"
>
> using namespace Ipopt;
>
> int main(int argv, char* argc[])
> 	{
> 	// Create a new instance of your nlp
> 	//  (use a SmartPtr, not raw)
> 	//SmartPtr<TNLP> mynlp = new HS071_NLP();
>
> 	// Create a new instance of IpoptApplication
> 	//  (use a SmartPtr, not raw)
> 	// We are using the factory, since this allows us to compile this
> 	// example with an Ipopt Windows DLL
> 	SmartPtr<IpoptApplication> app = IpoptApplicationFactory();
>
> 	return 0;
> 	}
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>
>



More information about the Ipopt mailing list