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

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
What is the difference between a 'combinatorial algorithm' and a 'linear algorithm'?

Categories

HOME
sendgrid
atom-editor
openmp
server
fme
infragistics
fsm
webpack-2
ravendb
pivotal-cloud-foundry
add
iggrid
rascal
mapserver
commonmark
event-handling
carthage
netflix
highlight.js
tostring
http-status-code-504
oxyplot
nhibernate-envers
emulator
swiftlint
ehcache
dcevm
php-openssl
claims-based-identity
hammerspoon
h2db
facet
chromebook
user-interaction
pingfederate
windows-error-reporting
ecto
http-status-code-503
vsts-build-task
xmlreader
android-nestedscrollview
mpmediaquery
lto
libraries
hilbert-curve
az-application-insights
ruby-on-rails-3.1
core-plot
angular-resource
errordocument
python-webbrowser
dandelion
carrot
csound
tactic
boost-preprocessor
chord-diagram
removechild
infix-notation
pcf
ctest
mongocsharpdriver
gstreamer-0.10
fputcsv
bluegiga
iad
ios8-today-widget
intellij-14
cannon.js
atk4
interrupted-exception
mmc
p2
truevault
codeigniter-url
gadt
gui-test-framework
asp.net-dynamic-data
codeigniter-routing
code-access-security
responsive-slides
ivyde
bulkloader
html4
hungarian-algorithm
wsdl-2.0
appconkit
regsvr32
wse3.0
libc++
window-management
deobfuscation
cinema-4d
celltable
html-input
wise
dentrix
icanhaz.js
ext3
nintendo-ds
rtml

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App