We've been working on probabilistic meta-algorithms for the global optimization problem. I'm afraid I can't talk much about the project for the time being except for details. Here's a one of those details.
As strange as it may seem today I had the need to redirect stdin and stdout from within .NET. On one of the alternative solution branches we've decided to use lp_solve to optimize some variables so we could benchmark an alternative way for solving our algorithm.
The problem has so many variables and restrictions that we couldn't use lp_solve as a lib, we had to create the input file, execute lp_solve.exe and recover the outputted data.
Here's where stdin and stdout redirection came in. Here's how we did it:
Process process = new Process();And there you go. Not much, but it works. And it sure brings back memories... :)
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = String.Format(
"/c {0} < \"{1}\" > \"{2}\"",
System.Configuration.ConfigurationSettings.AppSettings["LPSOLVE_PATH"] + @"\lp_solve.exe",
inputFilename,
outputFilename
);
process.Start();
process.WaitForExit();
No comments:
Post a Comment