Да, это абсолютно возможно. Если вы собираетесь использовать Visual Studio, самый простой вариант - создать приложение с графическим интерфейсом, используя .NET. Затем вы можете использовать CPLEX .NET API из вашего приложения. Другой вариант - использовать C ++, но это, вероятно, будет значительно сложнее. На самом деле нет никакой разницы между вызовом CPLEX из приложения с графическим интерфейсом и вызовом CPLEX из консольного приложения. Обычно вы добавляете некоторую логику в обработчик событий нажатия кнопки, который будет строить модель в CPLEX, решать ее и собирать информацию о решении. Посмотрите Руководство пользователя CPLEX , Справочное руководство CPLEX .NET , Справочное руководство CPLEX C ++ , а также множество примеров, которые включены в CPLEX при установке. программное обеспечение.
Если я не ошибаюсь, Вы могли бы сделать
Set< String > keys = cData.getCompositeType().keySet();
(учитывая, что cData является объектом CompositeData),
http://java.sun.com/j2se/1.5.0/docs/api/javax/management/openmbean/CompositeType.html#keySet ()
Можно найти более полный пример с этой небольшой программой, которая печатает атрибуты всего MBeans JVM
В особенности:
StringBuffer writeCompositeData(StringBuffer buffer,
String prefix, String name, CompositeData data) {
if (data == null)
return writeSimple(buffer,prefix,name,null,true);
writeSimple(buffer,prefix,name,"CompositeData("+
data.getCompositeType().getTypeName()+")",true);
buffer.append(prefix).append("{").append("\n");
final String fieldprefix = prefix + " ";
for (String key : data.getCompositeType().keySet()) {
write(buffer,fieldprefix,name+"."+key,data.get(key));
}
buffer.append(prefix).append("}").append("\n");
return buffer;
}
Часть:
for (String key : data.getCompositeType().keySet()) {
[...] data.get(key) [...];
}
быть, что Вы после.