В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Хороший ответ зависит от того, под чем Вы подразумеваете "выпуклый" и "более общий", При попытке решить большие или сложные линейные или выпукло-квадратичные проблемы оптимизации (особенно с дискретным компонентом им), тогда трудно разбить основные коммерческие решатели, gurobi, cplex и Тире , если деньги не являются большой проблемой для Вас. Они все имеют чистые интерфейсы JNI и доступны на большинстве основных платформ.
монета - или проект имеет несколько оптимизаторов, и имейте проект для интерфейса JNI. Это полностью свободно ( лицензия EPL), но возьмет больше работы, чтобы установить и вероятно не дать Вам ту же производительность.
Можно хотеть посмотреть JScience, это выглядит довольно завершенным. (Математические структуры, решение линейной алгебры, и т.д.)
Изучите AMPL. Основной выпуск свободен, но он стоит денег для больших проблем. Вы не платите за язык; Вы платите за решатели. Также возможно загрузить Ваш код и иметь его, работает на их серверах.
Существует инструмент линейной оптимизации, названный lpsolve. Это записано в C (я думаю), но идет с оберткой Java/JNI (API не является очень OO, но это делает задание). Это довольно просто в использовании, и у меня был он работающий вполне счастливо и устойчиво в живой системе в течение прошлого года.