np-complete


Why using linear integer programming (ILP) though it is NP-Complete?


The question may be stupid but it really confuses me for a long time.
I read a lot of papers in wireless sensor network. Many researchers model their problems into the form of ILP. However, ILP is NP-Complete so it is not efficient for solving a problem.
So why people write their problems into the form of ILP? Do they do that to make their problem clear to see and easy to understand? Or do I make some mistakes understanding the relations between ILP and NPC?
I am really appreciated that you can help me to solve this question.
Although the question might be considered off-topic, there are basically a few points to address.
You are right that general integer linear programming is NP-hard.
If a specific problem needs to be solved and general integer linear programming is the most specific way to formulate it, then nothing can be done about it; some problems are just hard to solve.
In some cases, it is possible to use the LP relaxation instead, either as a heuristic or some approximation ratio can be proven.
The key point here is that integer linear programming is a widespread formalism for expressing problems. Basically I understand your question as the follwing one.
"Why do people use a model that is algorithmically hard to solve to
describe practical problems?"
Well, if that shortcoming could be circumvented in general, it would be a good idea to express every problem there is in terms of sorting, which is algorithmically easy.
NP-hard refers to the complexity of algorithms in the worst case. For most NP-hard problems, we have effective algorithms (heuristic or exact) that perform well most of the time, even if they do not perform well in the worst case. ILP is therefore a very useful tool in practice, even if there are some problems that it doesn't do well on.
I have a hammer. There are some jobs that my hammer is just no good for, or would take a very long time on. But it's still a very useful tool, because it can do a lot of jobs for me very well.
ILP is, in many ways, the same thing.

Related Links

Why using linear integer programming (ILP) though it is NP-Complete?
Prove NP-Completeness of generating 2 shortest routes over given edge grouping constraints?
Reduction to Clique prob
Approximation Algorithm between two NP compete problems
Is it possible to find the probability to a solution of NP-complete problems?
Knapsack for each weight having multiple values - Is it possible to solve?
Reduction from Maximum independent set to Dominating set to prove the Dominating set is NP-complete
How I can prove that 2-CNF is not NP-complete?
When NP complete becomes NP hard
Can it be proven no polynomial algorithm exists for an NP-Complete prob.?
Effect of number base when proving NP completeness of numerical problems
How to reduce 3COLOR to 3SAT?
proof NP-complete
Proof that Dominating Set is NP-Complete
Is this an NP problem?
Given a collection of consumers competing for a limited resource, allocate that resource to maximize it's applicability

Categories

HOME
cloud
pypi
webpack
netsuite
zeromq
tinymce
include
hashmap
tesseract
sd-card
bpmn
sql-server-2016
opengl-es-2.0
directx
android-youtube-api
webrequest
slick-slider
export-to-csv
qt-creator
circular-dependency
try-catch
lombok
worldwind
after-effects
saxon
http-status-code-504
undefined
code-review
viewport
nodatime
intentfilter
angular2-aot
compatibility
facebook-apps
nouislider
socialengine
frame
http-referer
google-api-nodejs-client
wpf-controls
git-merge
dartium
retina-display
uft-api
tasker
dynamic-reports
google-closure
password-encryption
youcompleteme
integrity
svmlight
sqlclient
magma
jspdf-autotable
dynamics-sl
abcpdf9
azure-virtual-network
py2app
bluegiga
asp.net5
django-unittest
sframe
ibaction
php-ci
method-parameters
sailfish-os
nsight
notify
truevault
nsmutabledictionary
nstableviewcell
camanjs
google-reader
doskey
mysql-error-1062
dealloc
resty-gwt
message-driven-bean
centos5
openlaszlo
prettify
web2py-modules
soundtouch
pushbackinputstream
pygit2
path-separator
spring-portlet-mvc
code-cleanup
spyware
external-accessory
coredump
coercion
invite
appendto
krl
pyinotify
revisions
database-management
user-friendly
memory-size
javap
ctp4
virtual-functions
xetex
mediarss
commodore
rtml
lzh

Resources

Database Users
RDBMS discuss
Database Dev&Adm
javascript
java
csharp
php
android
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App