<commit_before># MINLP

* **Version:** [v2.3.0](https://github.com/marcio-da-silva-arantes/MINLP/raw/master/MINLP/dist/MINLP.jar)
* **Date:** 26/05/2019

MINLP is a high level abstraction to encode Mixed Integer Nonlinear Programming (MINLP) models in Java. You can easy donwload the last version here: [MINLP.jar](https://github.com/marcio-da-silva-arantes/MINLP/raw/master/MINLP/dist/MINLP.jar).
This library encode the models using the folowing suported solvers Cplex, Glpk and Gurobi, then you need to install the ones you intend to use, see how to install this dependencies on links below:
* [Cplex](https://www.ibm.com/br-pt/marketplace/ibm-ilog-cplex) 
* [Glpk](http://ftp.gnu.org/gnu/glpk/)
* [Gurobi](http://www.gurobi.com/)

#### Main idea of how some simple linear transformations are done by MINLP
<pre>
define:
  let x ∈ R
  let y ∈ {0,1}
  v = x*y           <-- this is non-linear
logical expected result:
  v = x  if y=1 or
  v = 0  if y=0
linear transformation:
  let v ∈ R
  M*(y-1) + x ≤ v ≤ x - M*(y-1)
  -M*y ≤ v ≤ M*y
  where M is a abritrary big positive number 
</pre>

#### General easy encoding
* <math>&sum;<sub>i&in;I</sub> ( x<sub>i</sub> )</math>
```javascript
	mip.sum(I, (i) -> x[i])
```<commit_msg>Generate tag<commit_after># MINLP

* **Version:** [v2.3.1](https://github.com/marcio-da-silva-arantes/MINLP/raw/master/MINLP/dist/MINLP.jar)
* **Date:** 26/05/2019

MINLP is a high level abstraction to encode Mixed Integer Nonlinear Programming (MINLP) models in Java. You can easy donwload the last version here: [MINLP.jar](https://github.com/marcio-da-silva-arantes/MINLP/raw/master/MINLP/dist/MINLP.jar).
This library encode the models using the folowing suported solvers Cplex, Glpk and Gurobi, then you need to install the ones you intend to use, see how to install this dependencies on links below:
* [Cplex](https://www.ibm.com/br-pt/marketplace/ibm-ilog-cplex) 
* [Glpk](http://ftp.gnu.org/gnu/glpk/)
* [Gurobi](http://www.gurobi.com/)

#### Main idea of how some simple linear transformations are done by MINLP
<pre>
define:
  let x ∈ R
  let y ∈ {0,1}
  v = x*y           <-- this is non-linear
logical expected result:
  v = x  if y=1 or
  v = 0  if y=0
linear transformation:
  let v ∈ R
  M*(y-1) + x ≤ v ≤ x - M*(y-1)
  -M*y ≤ v ≤ M*y
  where M is a abritrary big positive number 
</pre>

#### General easy encoding
* <math>&sum;<sub>i&in;I</sub> ( x<sub>i</sub> )</math>
```javascript
	mip.sum(I, (i) -> x[i])
```
{'fraction_non_alphanumeric': 0.15860105734038227, 'fraction_numerical': 0.014640097600650671, 'mean_word_length': 3.58955223880597, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 21, 'https://': 6, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2383760', 'n_tokens_mistral': 966, 'n_tokens_neox': 925, 'n_words': 289}